Python Pandas DataFrame: 无法比较类型:str() > int()

6 投票
1 回答
8437 浏览
提问于 2025-04-18 10:52

我下载了书籍《Python数据分析》中提到的文件,并查看了第278页提到的FEC数据库示例。当我运行命令时,出现了以下类型错误。我的版本是:Python 3.4;Pandas:0.14.0。操作系统:Windows 8。

>>> fec=pd.read_csv('c:\python\P00000001-ALL.csv')
>>> (fec.contb_receipt_amt > 0).value_counts()
>>> TypeError: unorderable types: str() > int()

但这不仅仅是这个数据集的问题。我正在处理的任何数据集都有类似的问题。整数(Int)数据类型被导入为对象,就像其他任何东西一样,当我对它们进行数字比较(比如大于0)时,就会出现上述错误。有什么解决办法吗?我尝试使用dtype选项导入,但出现了错误,提示说int64或Float64不可用。我相信有正确的方法来处理这个问题。如何以正确的数据类型加载数据框。

任何帮助都非常感谢。

1 个回答

3

我遇到了这个错误,原因是一些日期不完全相同。我先通过改变数据类型来解决了这个问题。

可以试试:

fec[[contb_receipt_amt]] = fec[[contb_receipt_amt]].astype(str)

然后再试着计算一下。

撰写回答