我有一个看起来像这样的数据框
RangeIndex: 144 entries, 0 to 143
Data columns (total 4 columns):
Manager ID 144 non-null object
Defect Count 144 non-null object
Transactions 144 non-null object
DPMO 144 non-null object
我想将缺陷计数,事务处理和DPMO转换为整数以进行一些计算。我使用astype将其转换为整数,但它抛出了valueValue错误。我尝试过的仅用于“缺陷计数”。我如何一次转换所有3个。我也尝试了to_numeric,但是将我的大部分数据转换为'NAN'。 valueError上的“ 2,721”是缺陷计数数据之一。
Managers_DPMO['Defect Count'] = Managers_DPMO['Defect Count'].astype(str).astype(int)
ValueError: invalid literal for int() with base 10: '2,721'
答案 0 :(得分:0)
您至少有一个用逗号分隔符的值。 尝试以以下方式读取文件:
df.read_csv('filename.csv', thousands=',')
另一个选项可以是:
Managers_DPMO['Defect Count']=pd.to_numeric(Managers_DPMO['Defect Count'], downcast='integer')
答案 1 :(得分:0)
除了0buz答案外,您还可以尝试替换剥离有问题的字符,然后将其转换为int的方法:
Managers_DPMO['Defect Count'] = Managers_DPMO['Defect Count'].str.strip(',.').astype(int)