Pandas str.extract и concat столбцы - PullRequest
0 голосов
/ 20 апреля 2020

На самом деле я хочу извлечь информацию для str столбца информационного кадра и добавить эту информацию в виде новых столбцов, все с конвейером.

В настоящее время я делаю:

(
    pd.DataFrame({'raw': ['name_20200304', 'other_20200305']})
    .pipe(lambda df: pd.concat([df, df.raw.str.extract(r"(?P<name>\w+)_(?P<date>\d{8})")], axis=1))
)
              raw   name      date
0   name_20200304   name  20200304
1  other_20200305  other  20200305

но я бы ожидал более прямой способ получить этот "извлекать и добавлять" op.

1 Ответ

1 голос
/ 20 апреля 2020

Вы можете попробовать что-то вроде:

In [53]: pd.DataFrame({'raw': ['name_20200304', 'other_20200305']})
Out[53]:
              raw
0   name_20200304
1  other_20200305

In [54]: df = pd.DataFrame({'raw': ['name_20200304', 'other_20200305']})

In [55]: df[['name','date']]= df['raw'].str.split("_",expand=True)

In [56]: df
Out[56]:
              raw   name      date
0   name_20200304   name  20200304
1  other_20200305  other  20200305
...