我有一个600x30大小的.csv文件,其所有数据类型都是字符串,但实际上是数字,例如:
'36,000'== 36000
我想最有效地将所有这些转换为浮动。
我该怎么做?
我可以考虑使用split()然后擦除','然后加入然后再转换为float来分解每个str类型的数字..但它看起来太麻烦了。
有更好的主意吗?
答案 0 :(得分:2)
使用replace
和pd.to_numeric
s=pd.DataFrame({'val':['36,000','36,000','36,000','36,000','36,000']})
s.replace({',':''},regex=True).apply(pd.to_numeric,1)
Out[76]:
val
0 36000
1 36000
2 36000
3 36000
4 36000
答案 1 :(得分:0)
根据Wen的回答,对于数据框,您可以使用:
df.apply(lambda x: x.str.replace(',','').apply(pd.to_numeric))