วิธีแก้ไข: 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