如何修复:类型错误:“dataframe”对象不可调用
使用 pandas 时可能遇到的一个常见错误是:
TypeError : 'DataFrame' object is not callable
当您尝试使用圆括号()而不是方括号[]对 pandas DataFrame 中的变量执行计算时,通常会发生此错误。
以下示例展示了如何在实践中使用此语法。
如何重现错误
假设我们有以下 pandas 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
由于我们使用了 round ()括号,pandas 认为我们正在尝试将 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”不可调用
如何修复:类型错误:对象“numpy.float64”不可调用
如何修复:类型错误:预期字符串或字节对象