pandas извлечь подстроку столбца и положить в тот же столбец - PullRequest
3 голосов
/ 10 марта 2020

У меня есть этот столбец:

C-042-00000017276
F-099-00000201997
F-98-204009

Я хочу, чтобы этот столбец был:

C-42-17276
F-99-201997
F-98-204009

Я знаю, как извлечь данные с помощью выражения регулярного выражения, и я могу решить это, повторяя по строки, но я хочу сделать это более pandas стиль:

Я пытаюсь это для извлечения пары цифр строки между символами '-.

df['column'] = df['column'].str.replace(r'-.*',df['column'].str.extract(r'(-.*-)',expand=False).str.replace('-','').str.lstrip('0'))

но я получить:

TypeError("repl must be a string or callable")

есть предложения с этим?

1 Ответ

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

Мы можем использовать Series.str.replace для этого с positive lookbehind.
В основном мы хотим заменить один или несколько нулей (0+), если перед ним стоит da sh (?<=-):

df['column'] = df['column'].str.replace('(?<=-)0+', '')

        column
0   C-42-17276
1  F-99-201997
2  F-98-204009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...