我有一個名為“名稱”的列。它是字串型別。它看起來像這樣:
| 姓名 |
|---|
| attr1=val1a;attr2=val2a;attr3=val3a;attr4=val4a |
| attr1=val1b; attr5=val5b; attr3=val3b; attr6=val6b |
我想將此列決議為:
| 屬性1 | 屬性2 | 屬性 3 | attr4 | 屬性5 | 屬性 6 |
|---|---|---|---|---|---|
| val1a | val2a | val3a | val4a | 空值 | 空值 |
| val1b | 空值 | val3b | 空值 | val5b | val6b |
有人可以幫我找到一種在 python 中執行此操作的方法。
提前致謝!
uj5u.com熱心網友回復:
您可以將每個字串拆分;為 ,對于每個拆分,拆分為=并將其轉換為 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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/467306.html
