我在 JSON 中有一個嵌套的資料框。將未嵌套的資料框轉換為 pandas 資料框我沒有問題。
我遇到的問題是當資料框有多個級別時,我需要為每個 json 條目撰寫獨立的記錄。
{
'type': 'text1',
'key': ['key1'],
},
{
'type': 'text2',
'key': ['key1', 'key2'],
},
'type': 'text3',
'key': 'key',
}
我使用以下代碼將其寫入資料幀。
df = pd.DataFrame.from_dict(json)

不幸的是,對于每個條目,我都必須包含一個記錄。因此,如果 key 在陣列中有 2 個元素,則需要創建 2 個條目。并且將創建一個附加列(鍵索引)。所以我想要得到的是類似于下面的東西。

任何幫助將不勝感激,因為我已經堅持了一段時間!
uj5u.com熱心網友回復:
使用explode:
json = [{'type': 'text1', 'key': ['key1']},
{'type': 'text2', 'key': ['key1', 'key2']},
{'type': 'text3', 'key': 'key'}]
df = pd.DataFrame(json).explode('key') \
.assign(key_index=lambda x: x.groupby(level=0).cumcount())
print(df)
# Output
type key key_index
0 text1 key1 0
1 text2 key1 0
1 text2 key2 1
2 text3 key 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/414787.html
標籤:
上一篇:在seaborn中繪制多個布林值
