วิธีแก้ไข: typeerror: วัตถุ 'dataframe' ไม่สามารถเรียกได้
ข้อผิดพลาดทั่วไปที่คุณอาจพบเมื่อใช้แพนด้าคือ:
TypeError : 'DataFrame' object is not callable
ข้อผิดพลาดนี้มักเกิดขึ้นเมื่อคุณพยายามคำนวณตัวแปรใน Pandas DataFrame โดยใช้วงเล็บกลม () แทนวงเล็บเหลี่ยม [ ]
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
วิธีการทำซ้ำข้อผิดพลาด
สมมติว่าเรามี DataFrame แพนด้าดังต่อไปนี้:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 B 22 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 9 5 6 G 20 9 9 7:28 4 12
ตอนนี้ สมมติว่าเราพยายามคำนวณค่าเฉลี่ยในคอลัมน์ “คะแนน”:
#attempt to calculate mean value in points column
df(' points '). mean ()
TypeError : 'DataFrame' object is not callable
เนื่องจากเราใช้วงเล็บกลม () แพนด้าจึงคิดว่าเรากำลังพยายามเรียก DataFrame เป็นฟังก์ชัน
เนื่องจาก DataFrame ไม่ใช่ฟังก์ชัน เราจึงได้รับข้อผิดพลาด
วิธีการแก้ไขข้อผิดพลาด
วิธีแก้ไขข้อผิดพลาดนี้คือเพียงใช้วงเล็บเหลี่ยม [ ] เมื่อเข้าถึงคอลัมน์จุดแทนวงเล็บเหลี่ยม () :
#calculate mean value in points column
df[' points ']. mean ()
18.25
เราสามารถคำนวณค่าเฉลี่ยของคอลัมน์คะแนน (18.25) ได้โดยไม่ได้รับข้อผิดพลาดเนื่องจากเราใช้วงเล็บเหลี่ยม
โปรดทราบว่าเราสามารถใช้สัญลักษณ์จุดต่อไปนี้เพื่อคำนวณค่าเฉลี่ยของคอลัมน์จุดได้:
#calculate mean value in points column
df. points . mean ()
18.25
โปรดทราบว่าเราไม่ได้รับข้อผิดพลาดใดๆ ในครั้งนี้เช่นกัน
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีแก้ไขข้อผิดพลาดทั่วไปอื่นๆ ใน Python:
วิธีแก้ไขใน Python: ไม่สามารถเรียกวัตถุ ‘numpy.ndarray’ ได้
วิธีแก้ไข: TypeError: ไม่สามารถเรียกวัตถุ ‘numpy.float64’ ได้
วิธีแก้ไข: ข้อผิดพลาดประเภท: สตริงที่คาดหวังหรือวัตถุไบต์