วิธีแก้ไข: typeerror: วัตถุ 'numpy.float64' ไม่สามารถเรียกได้


ข้อผิดพลาดที่คุณอาจพบเมื่อใช้ Python คือ:

 TypeError : 'numpy.float64' object is not callable

ข้อผิดพลาดนี้สามารถเกิดขึ้นได้ในสองสถานการณ์ที่แตกต่างกัน:

  • สถานการณ์ที่ 1: การคูณโดยไม่ใช้เครื่องหมาย *
  • สถานการณ์ที่ 2: ล้มเหลวในการใช้ฟังก์ชัน NumPy Min

ตัวอย่างต่อไปนี้แสดงวิธีการแก้ไขข้อผิดพลาดนี้ในแต่ละสถานการณ์

สถานการณ์ที่ 1: การคูณโดยไม่ใช้เครื่องหมาย *

สมมติว่าเราพยายามคูณอาร์เรย์ NumPy สองตัวโดยไม่ต้องใช้เครื่องหมายคูณ (*) ดังนี้:

 import numpy as np

#define arrays
x = np. array ([1, 2, 3, 4, 5])
y = np. array ([12, 14, 14, 19, 22])

#attempt to multiply two arrays together
combo = (x)(y)

#view result
print (combo)

TypeError : 'numpy.float64' object is not callable 

เราได้รับ TypeError เนื่องจากเราไม่ได้ใช้เครื่องหมายคูณ (*) เมื่อพยายามคูณทั้งสองอาร์เรย์

วิธีหลีกเลี่ยงข้อผิดพลาดนี้คือต้องแน่ใจว่าเราใช้เครื่องหมายคูณ:

 import numpy as np

#define arrays
x = np. array ([1, 2, 3, 4, 5])
y = np. array ([12, 14, 14, 19, 22])

#multiply two arrays together
combo = (x)*(y)

#view result
print (combo)

[12 28 42 76 110]

โปรดทราบว่าเราไม่ได้รับข้อผิดพลาดใดๆ ในครั้งนี้

สถานการณ์ที่ 2: ล้มเหลวในการใช้ฟังก์ชัน NumPy Min

สมมติว่าเราใช้โค้ดต่อไปนี้เพื่อพยายามค้นหาค่าต่ำสุดของอาร์เรย์ NumPy:

 import numpy as np

#define array of data
data = np. array ([3.3, 4.1, 4, 5.6, 8.1, 9.9, 9.7, 10.2])

#attempt to find minimum value of array
min_val = min (data)

#view minimum value
print (min_val)

TypeError : 'numpy.float64' object is not callable

เราได้รับ TypeError เนื่องจากเราใช้ฟังก์ชัน min()

แต่เราจำเป็นต้องใช้ np.min() แทนดังนี้:

 import numpy as np

#define array of data
data = np. array ([3.3, 4.1, 4, 5.6, 8.1, 9.9, 9.7, 10.2])

#attempt to find minimum value of array
min_val = np. min (data)

#view minimum value
print (min_val)

3.3

โปรดทราบว่าเราไม่ได้รับข้อผิดพลาดใดๆ ในครั้งนี้

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:

วิธีแก้ไข: คอลัมน์ซ้อนทับกันแต่ไม่ได้ระบุส่วนต่อท้าย
วิธีแก้ไข: วัตถุ ‘numpy.ndarray’ ไม่มีแอตทริบิวต์ ‘ผนวก’
วิธีแก้ไข: หากใช้ค่าสเกลาร์ทั้งหมด คุณจะต้องผ่านดัชนี
วิธีแก้ไข: ValueError: ไม่สามารถแปลง float NaN เป็น int

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *