วิธีแก้ไข: วัตถุ 'numpy.float64' ไม่รองรับการกำหนดองค์ประกอบ
ข้อผิดพลาดทั่วไปที่คุณอาจพบเมื่อใช้ Python คือ:
TypeError: 'numpy.float64' object does not support item assignment
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามใช้วงเล็บเหลี่ยมเพื่อกำหนดค่าใหม่ให้กับตัวแปร NumPy ที่มีประเภท float64
ตัวอย่างต่อไปนี้แสดงวิธีการแก้ไขข้อผิดพลาดนี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเราสร้างตัวแปร NumPy ที่มีค่า 15.22 และพยายามใช้วงเล็บเพื่อให้เป็นค่าใหม่ 13.7 :
import numpy as np #define some float value one_float = np. float64 (15.22) #attempt to modify float value to be 13.7 one_float[0] = 13.7 TypeError: 'numpy.float64' object does not support item assignment
เราได้รับข้อผิดพลาดว่า วัตถุ ‘numpy.float64’ ไม่รองรับการกำหนดองค์ประกอบ
เราได้รับข้อผิดพลาดนี้เนื่องจาก one_float เป็นสเกลาร์ แต่เราพยายามถือว่ามันเป็นอาร์เรย์ที่เราสามารถใช้วงเล็บเหลี่ยมเพื่อแก้ไขค่าที่ตำแหน่งดัชนี 0
เนื่องจาก one_float ไม่ใช่อาร์เรย์ เราจึงไม่สามารถใช้วงเล็บเหลี่ยมเมื่อพยายามแก้ไขค่าของมัน
วิธีการแก้ไขข้อผิดพลาด
วิธีแก้ไขข้อผิดพลาดนี้คืออย่าใช้วงเล็บเหลี่ยมเมื่อกำหนดค่าใหม่ให้กับทศนิยม:
#modify float value to be 13.7
one_float = 13.7
#view float
print (one_float)
13.7
เราจัดการเปลี่ยนค่าจาก 15.22 เป็น 13.7 เพราะเราไม่ได้ใช้วงเล็บ
โปรดทราบว่าคุณสามารถใช้วงเล็บเหลี่ยมเพื่อแก้ไขค่าในตำแหน่งดัชนีเฉพาะได้ตราบใดที่คุณทำงานกับอาร์เรย์
ตัวอย่างเช่น รหัสต่อไปนี้แสดงวิธีการเปลี่ยนองค์ประกอบแรกของอาร์เรย์ NumPy จาก 15.22 เป็น 13.7 โดยใช้เครื่องหมายวงเล็บเหลี่ยม:
import numpy as np
#define a NumPy array of floats
many_floats = np. float64 ([15.22, 34.2, 15.4, 13.2, 33.4])
#modify float value in first index position of array to be 13.7
many_floats[0] = 13.7
#view updated array
print (many_floats)
[13.7 34.2 15.4 13.2 33.4]
ครั้งนี้เรายังไม่ได้รับข้อผิดพลาดเนื่องจากเรากำลังทำงานกับอาร์เรย์ NumPy ดังนั้นจึงสมเหตุสมผลที่จะใช้วงเล็บ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไขใน Python: ไม่สามารถเรียกวัตถุ ‘numpy.ndarray’ ได้
วิธีแก้ไข: TypeError: ไม่สามารถเรียกวัตถุ ‘numpy.float64’ ได้
วิธีแก้ไข: ข้อผิดพลาดประเภท: สตริงที่คาดหวังหรือวัตถุไบต์