如何使用逗号将字符串数字转换为Pandas数据框中的浮点数

时间:2018-03-08 04:16:51

标签: python pandas

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

  

'36,000'== 36000

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

我该怎么做?

  

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

有更好的主意吗?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

根据Wen的回答,对于数据框,您可以使用:

df.apply(lambda x: x.str.replace(',','').apply(pd.to_numeric))