[英]list of lists of dicts to pandas DataFrame
I have a large list of a list of dicts, that I would like to transform into a pandas DataFrame. 我有一个很大的dicts列表列表,我想将其转换为pandas DataFrame。 Below I have made a small example of my variable, but in reallity the outer list is much larger and each of the inner lists has more dictionaries. 下面我给我的变量做了一个小例子,但实际上外部列表要大得多,每个内部列表都有更多的字典。
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"}]
]
I want a Pandas DataFrame that looks like this: 我想要一个看起来像这样的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
I've tried: 我试过了:
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'}
Is there a way to create an empty DataFrame and then append each inner list? 有没有办法创建一个空的DataFrame,然后追加每个内部列表?
Or how would I only get the values in the DataFrame and the keys in the Column names? 或者我如何只获取DataFrame中的值和列名中的键?
try this: 尝试这个:
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.