我在 Pandas 数据框中有以下数据:
state 1st 2nd 3rd
0 California $11,593,820 $109,264,246 $8,496,273
1 New York $10,861,680 $45,336,041 $6,317,300
2 Florida $7,942,848 $69,369,589 $4,697,244
3 Texas $7,536,817 $61,830,712 $5,736,941
我想用三列(1st、2nd、3rd)执行一些简单的分析(例如 sum、groupby),但是这三列的数据类型是对象(或字符串)。
所以我使用以下代码进行数据转换:
data = data.convert_objects(convert_numeric=True)
但是,转换不起作用,也许是因为美元符号。有什么建议吗?
最佳答案
@EdChum 的回答很聪明,效果很好。但既然烤蛋糕的方法不止一种……为什么不使用正则表达式呢?例如:
df[df.columns[1:]] = df[df.columns[1:]].replace('[\$,]', '', regex=True).astype(float)
对我来说,这更具可读性。
关于python - 用 $ 将货币转换为 Python pandas 中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32464280/