我有一个600x30大小的.csv文件,其所有数据类型均为字符串,但实际上为数字,例如:


  '36,000'== 36000


我想最有效地将所有这些转换为float。

我怎样才能做到这一点?


  我可以考虑使用split()分解每个str类型的数字,然后擦除',',然后再联接然后再次转换为float ..但这看起来太麻烦了。


还有更好的主意吗?

最佳答案

使用replacepd.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

10-07 13:29