如何从包含pandas / python中字符混合类型的字符串中仅取出数字(整数和浮点数)?

时间:2019-03-30 09:22:38

标签: python regex pandas dataframe

我有一个这样的数据框

df
col1         col2
 A         abc2.4 rs
 B         20.66
 C         sd 23.44 ()
 D         200(pw)
 E         pw 2400 (pw)

我只想从col2字符串中取出数字(int和float)

最终数据框应如下所示:

col1       col2
 A         2.4
 B         20.66
 C         23.44
 D         200
 E         2400

如何使用熊猫以最有效的方式做到这一点?

1 个答案:

答案 0 :(得分:3)

使用Series.str.extract

df['col2'] = df['col2'].str.extract(r'(\d+\.\d+|\d+)', expand=False)
print (df)
  col1   col2
0    A    2.4
1    B  20.66
2    C  23.44
3    D    200
4    E   2400