วิธีแก้ไขใน python: วัตถุ 'numpy.ndarray' ไม่สามารถเรียกได้
ข้อผิดพลาดทั่วไปที่คุณอาจพบเมื่อใช้ NumPy ใน Python คือ:
TypeError : 'numpy.ndarray' object is not callable
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อพยายามเรียกอาร์เรย์ NumPy เป็นฟังก์ชันโดยใช้วงเล็บกลม () แทนวงเล็บเหลี่ยม [ ]
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเรามีอาร์เรย์ NumPy ดังต่อไปนี้:
import numpy as np #create NumPy array x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])
ตอนนี้ สมมติว่าเราพยายามเข้าถึงองค์ประกอบแรกของอาร์เรย์:
#attempt to access the first element in the array
x(0)
TypeError : 'numpy.ndarray' object is not callable
เนื่องจากเราใช้วงเล็บกลม () Python จึงคิดว่าเรากำลังพยายามเรียกอาร์เรย์ NumPy x เป็นฟังก์ชัน
เนื่องจาก x ไม่ใช่ฟังก์ชัน เราจึงได้รับข้อผิดพลาด
วิธีการแก้ไขข้อผิดพลาด
วิธีแก้ไขข้อผิดพลาดนี้คือเพียงใช้วงเล็บเหลี่ยม [ ] เมื่อเข้าถึงองค์ประกอบอาร์เรย์ NumPy แทนวงเล็บเหลี่ยม () :
#access the first element in the array
x[0]
2
องค์ประกอบแรกของอาร์เรย์ (2) จะปรากฏขึ้นและเราไม่ได้รับข้อผิดพลาดใดๆ เนื่องจากเราใช้วงเล็บเหลี่ยม [ ]
โปรดทราบว่าเราสามารถเข้าถึงองค์ประกอบอาร์เรย์หลายรายการพร้อมกันได้ตราบใดที่เราใช้วงเล็บเหลี่ยม [ ] :
#find sum of first three elements in array
x[0] + x[1] + x[2]
10
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไข: ValueError: ดัชนีมีรายการที่ซ้ำกัน ไม่สามารถเปลี่ยนรูปร่างได้
วิธีแก้ไข: ข้อผิดพลาดประเภท: สตริงที่คาดหวังหรือวัตถุไบต์
วิธีแก้ไข: TypeError: ไม่สามารถเรียกวัตถุ ‘numpy.float64’ ได้