как вытащить слово в строку и положить в массив панд - PullRequest
0 голосов
/ 12 октября 2018

Я пытаюсь использовать регулярные выражения, чтобы извлечь только алфавитную часть строки и поместить ее в массив.Например,

Target_column

ABC1234-332DER
1334-GGH-21WW
GG43--222EER

Desired_output

[ABC, DER]
[GGH,WW]
[GG,EER]

У меня есть код регулярного выражения, который не генерирует результаты, которые я хотел бы

df['target_column'] = df['desired_column'].str.extract('([a-zA-Z]+)', expand=True)

Это дает следующий вывод:

0   ABC1234-332DER  ABC
1   1334-GGH-21WW   GGH
2   GG43--222EER    GG

Каков правильный синтаксис регулярных выражений для получения нужного столбца?

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете использовать extractall, а затем снять значения и преобразовать их в список:

df['desired_column'] = (df.Target_column.str.extractall('([a-zA-Z]+)')
                        .unstack()
                        .values.tolist())

>>> df
    Target_column desired_column
0  ABC1234-332DER     [ABC, DER]
1   1334-GGH-21WW      [GGH, WW]
2    GG43--222EER      [GG, EER]
...