Переименование столбцов фрейма данных с помощью регулярного выражения и словаря - PullRequest
0 голосов
/ 01 августа 2020

У меня есть такой фрейм данных:

code_0101    code_0102    code_0103    code_0104    ...
0            1            2            3            ...
...          ...          ...          ...

У меня также есть словарь:

{'0101': 'cirurgical_procedures', '0102': 'medical_care', '0103': 'remedy', ...}

Я хочу применить регулярное выражение к столбцу фрейма данных и заменить номера кода в соответствии с мой словарь, и получите что-то вроде этого:

code_cirurgical_procedures    code_medical_care       ...
0                             1                       ...
...                           ...

Как я могу сделать эти два шага, особенно второй, о словаре?

Ответы [ 2 ]

3 голосов
/ 01 августа 2020

Используйте series.replace для замены и присвоения столбцам

d = {'0101': 'cirurgical_procedures', '0102': 'medical_care', '0103': 'remedy'}
df.columns = df.columns.to_series().replace(d, regex=True)

Out[12]:
   code_cirurgical_procedures  code_medical_care  code_remedy  code_0104
0                           0                  1            2          3
1 голос
/ 01 августа 2020

Предполагая code в качестве перфокса, вы можете использовать понимание dict,

 cols = {'0101': 'cirurgical_procedures', '0102': 'medical_care', '0103': 'remedy'}

df.rename(columns = {f"code_{k}": f"code_{v}" for k,v in cols.items()})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...