我在几周前就把下面的代码放在一起了,它按预期工作,但现在当我回去运行它时,我得到了一个错误
import pandas as pd
import numpy as np
file1 = "List - raw .csv"
df = pd.read_csv(file1)
pd.options.display.float_format = '{:,.2f}'.format
df.loc[~df['Ship To Customer Zip'].str.contains('[A-Za-z]'), 'ZipCleaned'] = df['Ship To Customer Zip'].str.slice(stop=5)
Error: Traceback (most recent call last): File "", line 1, in File "C:\users...Python\Python37-32\lib\site-packages\pandas\core\generic.py", line 1541, in invert arr = operator.inv(com.values_from_object(self)) TypeError: bad operand type for unary ~: 'float'
代码在几天前按预期工作。我还检查了备份代码,它生成了相同的错误
1)尝试更新pandas库
c:/>pip install upgrade pandas
2)存在NaN值。。。尝试添加参数na=False
错误的意思是,您正在浮点值上使用按位一元运算符
~
,而它不支持浮点值在这种情况下,该浮点值可能是一个
NaN
值您确定数据源(csv文件)没有更改吗
我用这个做了测试
请注意,当我在系列中使用
np.NaN
时,我得到了与您相同的错误,但是当我删除它时,它就工作了所以是的,你的代码很好,你的数据源改变了
相关问题 更多 >
编程相关推荐