脾气暴躁的TypeError

时间:2018-09-11 11:28:17

标签: python pandas numpy dataframe

有人可以解释以下错误是什么。以下是我的代码:

import pandas as pd
from pandas import DataFrame
data =pd.read_csv('FILENAME')
b=data.info()
print b

以下是错误:

Traceback (most recent call last):   File  
"FILENAME", line 5, in <module>    
    b=data.info()   File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 1443, in  
info  
    counts = self.count()   File "/usr/lib/python2.7/dist-packages/pandas/core/frame.py", line 3862, in  
count  
    result = notnull(frame).sum(axis=axis)   File "/usr/lib/python2.7/dist-packages/pandas/core/common.py", line 276, in  
notnull  
    return -res   File "/usr/lib/python2.7/dist-packages/pandas/core/generic.py", line 604, in 
__neg__  
arr = operator.neg(_values_from_object(self))
   TypeError: The numpy boolean negative, the `-` operator, is not supported, use the `~`
operator or the logical_not function instead. 

我要做的就是使用Dataframe.info()函数显示我的数据集的摘要,而在尝试弄清错误时遇到了麻烦。尽管我确实认为它与numpy包完全有关。在这里需要做什么?

1 个答案:

答案 0 :(得分:1)

问题在于旧版本的pandas和新版本的numpy

您必须更新pandas才能使代码正常工作。

如果您在conda上,则可以执行conda update pandas来更新pandas

如果您使用的是pip,则可以执行pip install --upgrade pandas

此外,请记住,在熊猫文档中,info函数还提到了以下内容

This method prints information about a DataFrame including the index dtype and column dtypes, non-null values and memory usage

data.info()将信息打印到控制台。因此,无需将其分配给变量,然后再打印它。

import pandas as pd
from pandas import DataFrame
data =pd.read_csv('FILENAME')
print data.info()

此代码对您来说很好。