[英]DataFrame from list of dicts of dicts
我有一個dicts
list
,其中dict
中的每個鍵包含另一個dict
:
In [256]: data_list
Out[256]:
[{'1111': {'index': 602, 'prop_1': 0, 'prop_2': 1},
'2222': {'index': 602, 'prop_1': 0, 'prop_2': 1}},
{'1111': {'index': 603, 'prop_1': 0, 'prop_2': 0},
'2222': {'index': 603, 'prop_1': 1, 'prop_2': 1}}]
In [257]: index = {i.pop('index') for x in data_list for i in x.values()}
In [258]: df = DataFrame(data_list, index=index)
In [259]: df
Out[259]:
1111 2222
602 {u'prop_1': 0, u'prop_2': 1} {u'prop_1': 0, u'prop_2': 1}
603 {u'prop_1': 0, u'prop_2': 0} {u'prop_1': 1, u'prop_2': 1}
如何創建以下或類似的pandas.DataFrame
?
index1 index2 prop_1 prop_2
602 1111 0 1
2222 0 1
603 1111 0 0
2222 1 1
考慮到您可以通過執行.apply(pd.Series)
將一系列字典轉換為多列數據框,您可以將原始數據框stack()
到multiIndex系列,然后使用.apply(pd.Series)
:
df.stack().apply(pd.Series)
# prop_1 prop_2
# 602 1111 0 1
# 2222 0 1
# 603 1111 0 0
# 2222 1 1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.