简体   繁体   English

从 numpy 字典数组创建 pandas DataFrame

[英]Create pandas DataFrame from numpy array of dictionaries

I have very long numpy array that has multiple dictionnaries as elements:我有很长的 numpy 数组,它有多个字典作为元素:

np.array([{'col1': 'somevalue', 'col2': 2}, {'col1': 'someotherval', 'col2': 4}, {'col1': 'zzzzz', 'col2': 47}], dtype=object)

Is there any way to create a pandas DataFrame where each dictionary would be a row?有没有办法创建一个 pandas DataFrame ,其中每个字典都是一行?

Result should be:结果应该是:

col1 col1 col2列2
'somevalue' '一些价值' 2 2个
'someotherval' 'someotherval' 4 4个
'zzzzz' 'zzzz' 47 47

Also conerting the numpy array to a list would not work as I need to keep memory usage low, so I can't go with pd.DataFrame(list(my_array))将 numpy 数组转换为列表也不起作用,因为我需要保持 memory 的使用率较低,所以我不能使用pd.DataFrame(list(my_array))

You can use iter() to avoid making an intermediate list:您可以使用iter()来避免制作中间列表:

pd.DataFrame(iter(arr))

This outputs:这输出:

           col1  col2
0     somevalue     2
1  someotherval     4
2         zzzzz    47

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM