Я изучаю регулярное выражение в методе последовательностей строк панд.Мне удалось извлечь первое число из строки, но мое регулярное выражение не соответствует второму числу.Как захватить оба числа?
Обратите внимание, что вторая строка, второй элемент здесь NAN.
КОД:
import pandas as pd
df = pd.DataFrame({'a': ["number 1.23 has 1.2 ",
"number 12.2 has 12 "]})
pat = r""".+\s+
(\d+\.\d+)
.+
((?:\d+\.\d+)?)
.+"""
df['a'].str.extract(pat,flags=re.X,expand=True)
Дает:
0 1
1.23
12.2
Ожидаемое:
0 1
1.23 1.2
12.2 NaN
Как исправить регулярное выражение?
Я очень плохо знаком с регулярным выражением, поэтому, пожалуйста, будьте внимательны и простите мое невежество.