Как я могу удалить все нечисловые символы c в серии Pandas - PullRequest
0 голосов
/ 10 марта 2020

У меня есть Pandas DataFrame. И я заинтересован в получении определенного столбца только с цифрами c символов.

Например, столбец содержит такие строки:

4'> delay trip
4/
4'>book flight 'trip
34
4"> book flight delay
4"

Как я могу удалить все нечисловые c символы и иметь только числовые c символы, подобные этой:

4
4
4
[3,4]
4
4

1 Ответ

2 голосов
/ 10 марта 2020

У вас есть 2 разные проблемы:

  • во-первых, чтобы извлечь цифры из ячеек столбца
  • , во-вторых, чтобы создать список, если у вас более одного ди git

Просто объедините обе операции в цепочку:

df[col].str.findall(r'\d').apply(lambda x: x[0] if len(x) == 1 else '' if len(x) == 0 else x)

На вашем примере это дает:

0         4
1         4
2         4
3    [3, 4]
4         4
5         4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...