У меня есть столбец под названием «имя». Это строка типа. Это выглядит примерно так:
| название |
|---|
| атрибут1=val1a; атрибут2=val2a; атрибут3=val3a; attr4=val4a |
| атрибут1=val1b; атрибут5=val5b; атрибут3=val3b; атрибут6=val6b |
Решение проблемы
Вы можете разделить каждую строку на ;, а для каждого разделения разделить =и преобразовать ее в dict, а затем использовать pd.json_normalize:
new_df = pd.json_normalize(df['name'].str.split(r';\s*').apply(lambda lst: dict(i.split('=') for i in lst)))
Выход:
>>> new_df
attr1 attr2 attr3 attr4 attr5 attr6
0 val1a val2a val3a val4a NaN NaN
1 val1b NaN val3b NaN val5b val6b
Комментариев нет:
Отправить комментарий