[英]list of lists of dicts to pandas DataFrame
我有一個很大的dicts列表列表,我想將其轉換為pandas DataFrame。 下面我給我的變量做了一個小例子,但實際上外部列表要大得多,每個內部列表都有更多的字典。
all_meta = [[{"Person":1}, {"trial":2}, {"b-setting":"Off"}],
[{"Person":2}, {"trial":5}, {"b-setting":"Off"}],
[{"Person":2}, {"trial":6}, {"b-setting":"Off"}],
[{"Person":2}, {"trial":7}, {"b-setting":"Off"}, {"ERROR":"error2"}]
]
我想要一個看起來像這樣的Pandas DataFrame:
person trial b-setting ERROR
0 1 2 Off None
1 2 5 Off None
2 2 6 Off None
3 2 7 Off error2
我試過了:
In[1]: pd.DataFrame(all_meta)
Out[1]:
0 1 2 3
0 {'Person': 1} {'trial': 2} {'b-setting': 'Off'} None
1 {'Person': 2} {'trial': 5} {'b-setting': 'Off'} None
2 {'Person': 2} {'trial': 6} {'b-setting': 'Off'} None
3 {'Person': 2} {'trial': 7} {'b-setting': 'Off'} {'ERROR': 'error2'}
有沒有辦法創建一個空的DataFrame,然后追加每個內部列表?
或者我如何只獲取DataFrame中的值和列名中的鍵?
嘗試這個:
def merge_dicst(dlist):
d = {}
for x in dlist:
d.update(x)
return d
In [97]: pd.DataFrame([merge_dicst(x) for x in all_meta])
Out[97]:
ERROR Person b-setting trial
0 NaN 1 Off 2
1 NaN 2 Off 5
2 NaN 2 Off 6
3 error2 2 Off 7
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.