Pandas извлечь строку в столбец с регулярным выражением - PullRequest
0 голосов
/ 11 июля 2020

У меня есть фрейм данных, в одном столбце я хочу извлечь конкретную c информацию. Используя разделение, это легко сделать, но с помощью Pandas я не могу понять, как это сделать.

s = pd.Series(['T:15.0(1.71%),B:7.4(0.03%),P:1e-21'])

Я хочу извлечь только 1e-21

Я пробовал

s.str.extract()

Но я не могу найти регулярное выражение, соответствующее тому, что я хочу на самом деле.

Или, если есть другой способ проанализировать содержимое столбца.

Спасибо

Ответы [ 3 ]

2 голосов
/ 11 июля 2020

Вы можете попробовать это:

print(s.str.extract('(\d+e-\d+)'))

       0
0  1e-21
1 голос
/ 11 июля 2020

Попробуйте:

print(s.str.extract(r"P:([^\,]+)"))

Это вернет все, что у вас есть после литерала: P:, который не является запятой (поскольку я понимаю, что запятая завершает присвоение).

1 голос
/ 11 июля 2020
s = pd.Series(['T:15.0(1.71%),B:7.4(0.03%),P:1e-21'])
print(s.str.split(":")[0][-1])

Вывод:

'1e-21'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...