我在pandas dataframe中有以下数据:
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),但这三列的数据类型是object(或string)。
因此,我使用以下代码进行数据转换:
data = data.convert_objects(convert_numeric=True)
型
但是,转换不工作,也许,由于美元符号。有什么建议吗?
6条答案
按热度按时间m1m5dgzv1#
@EdChum的回答很聪明,效果很好。但既然烤蛋糕的方法不止一种。为什么不使用regex?举例来说:
字符串
对我来说,这是一个更多一点的可读性。
kknvjkwl2#
你可以使用向量化的
str
方法来替换不需要的字符,然后将类型转换为int:字符串
dtype
变更现已确认:型
另一种方式:
型
4urapxun3#
您也可以按如下方式使用
locale
字符串
注意上面的代码是在Python 3和Windows环境下测试的
tzxcd3kk4#
要转换为整数,请用途:
字符串
olhwl3o25#
你可以使用方法
str.replace
和正则表达式'\D'
来删除所有非数字字符,或者使用'[^-.0-9]'
来保留减号、小数点和数字:字符串
wnrlj8wa6#
字符串