Как извлечь только числа (int и float) из строки, содержащей символы типа mix в pandas / python? - PullRequest
0 голосов
/ 30 марта 2019

У меня есть такой фрейм данных

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

Я хочу извлечь только число (как int, так и float) из строки col2

Конечный фрейм данных должен выглядеть следующим образом:

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

Как сделать это наиболее эффективно, используя панд?

1 Ответ

3 голосов
/ 30 марта 2019

Использование 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...