如果我执行str.extract(r'^(\d{1,})')
,则在这种情况下只会返回1。有什么办法像1000那样提取字符串?
Name Income
0 A 1,000
1 B 900
2 C 80
答案 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
添加到不替换的字符列表中(仍然不能满足所有情况,但可能对您的输入有用)。