วิธีแก้ไข: 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’ ได้
วิธีแก้ไข: ข้อผิดพลาดประเภท: สตริงที่คาดหวังหรือวัตถุไบต์

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

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