Разделение значений столбца на основе разделителя (Pandas) - PullRequest
0 голосов
/ 10 июля 2020

У меня есть фрейм данных panda с именем столбца - AA_IDs. Значения имени столбца имеют специальный символ «- #» в нескольких строках. Мне нужно определить три вещи:

  1. Положение этих специальных символов или разделителей
  2. найти строку перед специальным символом
  3. Найти строку после специального символа

Например, AFB001 9183Daily- # 789876A

Ответ будет перед разделителем - AFB001 9183Daily и после разделителя - 789876A

Ответы [ 2 ]

1 голос
/ 11 июля 2020

Просто используйте функцию apply с split -

df['AA_IDs'].apply(lambda x: x.split('-#'))

Это должно дать вам серию со списком для каждой строки как [AFB001 9183Daily, 789876A]

Это будет значительно быстрее, чем использование регулярного выражения, и не говоря уже о читабельности.

0 голосов
/ 10 июля 2020

Допустим, фрейм данных называется df, а столбец с текстом - A. Вы можете использовать

import re # Import regex

pattern = r'<your regex>'

df['one'] = df.A.str.extract(pattern)

. Это создает новый столбец, содержащий извлеченный текст. Вам просто нужно создать регулярное выражение, чтобы извлечь то, что вы хотите из своей строки (строк). Я настоятельно рекомендую regex101 , чтобы помочь вам создать ваше регулярное выражение.

Надеюсь, это поможет!

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