我有一个600x30大小的.csv文件,其所有数据类型均为字符串,但实际上为数字,例如:
'36,000'== 36000
我想最有效地将所有这些转换为float。
我怎样才能做到这一点?
我可以考虑使用split()分解每个str类型的数字,然后擦除',',然后再联接然后再次转换为float ..但这看起来太麻烦了。
还有更好的主意吗?
最佳答案
使用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