如何在数据帧中提取字符串“ 1,000”?

时间:2018-08-20 23:34:12

标签: python pandas

如果我执行str.extract(r'^(\d{1,})'),则在这种情况下只会返回1。有什么办法像1000那样提取字符串?

    Name    Income
0    A      1,000
1    B      900
2    C      80

2 个答案:

答案 0 :(得分:0)

我可能会丢失一些东西,但是要提取1,000个,您只需完成

str.extract(r'1,000')

答案 1 :(得分:0)

根据您的更新,似乎您不想提取数字,就像您想要删除不是数字的任何东西一样,以便可以转换为数字。为此,我们可以使用log2(n)

str.replace

以上内容将转换为数字而不会引起任何错误。如果您的数字有可能是浮点数,则可以将pd.to_numeric(df.Income.str.replace(r'[^\d]', '')) 0 1000 1 900 2 80 Name: Income, dtype: int64 添加到不替换的字符列表中(仍然不能满足所有情况,但可能对您的输入有用)。