熊猫DataFrame.empty()给出TypeError:'bool'对象不可调用

时间:2019-08-31 00:52:22

标签: python-3.x pandas

我的DataFrame管道需要处理空的和格式错误的结果,我添加了一个测试df.empty()并遇到此错误:

(Pdb) isinstance(tabledf, pd.DataFrame)
True
(Pdb) tabledf.empty()
*** TypeError: 'bool' object is not callable
(Pdb) tabledf
  From Location  Account Description  Value        TableName
0  NaN      NaN         nan       TOTAL       0  countreport
(Pdb) tabledf.shape
(1, 6)

很明显,此示例DF将返回False,因为它不为空(我仅测试一行),但是现在我很好奇为什么收到此错误而不是{{1} }。

2 个答案:

答案 0 :(得分:1)

pandas.DataFrame.empty不是可调用的方法,而是属性。

只需将其用作tabledf.empty而不是tabledf.empty()

您收到的错误是由于您的操作类似于:

>>> some_boolean = True
>>> some_boolean()

---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-13-02ece9c024ce> in <module>
      1 boolean = False
----> 2 boolean()

TypeError: 'bool' object is not callable

答案 1 :(得分:0)

empty是属性,不是方法,请删除()

df = pd.DataFrame()
print(df.empty)
# True

df=pd.DataFrame({"a": [1]})
print(df.empty)
# False