我有一个这样的数据框
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
如何使用熊猫以最有效的方式做到这一点?
答案 0 :(得分:3)
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