开发者社区> 问答> 正文

将词典列表转换为panda数据流

我有一个Python字典列表,每个字典都有相同的键,

dict_keys= ['k1','k2','k3','k4','k5','k6'] # More like 30 keys in practice
data = []
for i in range(20): # More like 3000 in practice
    data.append({k: np.random.randint(100) for k in dict_keys}) 

并希望使用它创建一个相应的panda dataframe,其中包含一个键的子集。我目前的方法是每次从列表中提取一个dict,然后将它附加到dataframe中

df = pd.DataFrame(columns=['k1','k2','k5','k6'])
for d in data:
    df = df.append({k: d[k] for k in list(df.columns)}, ignore_index=True)
    # In practice, there are some calculations on some of the values here

但是这是非常慢的(实际的列表和它包含的dicts都非常大)。 有没有一种更好、更快(也更习惯)的方法来遍历字典列表并将它们作为行添加到panda dataframe中? 问题来源StackOverflow 地址:/questions/59379339/from-list-of-dictionary-to-dataframe

展开
收起
kun坤 2019-12-30 09:33:53 454 0
1 条回答
写回答
取消 提交回答
  • 只需将数据传递给DataFrame的_init__,或者传递给DataFrame.from_records(两种方法都可以)。 您可能还需要设置一个索引,例如datafame .from_records(data, index = 'k1')。 如果您还需要执行一些计算,那么在创建数据流之后,在DataFrame上执行计算通常更容易、更方便。利用熊猫!

    2019-12-30 09:33:58
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载