作为分析的输出,我得到了一本包含每个样本的测量结果的词典.我想把这些放在一个数据框中,每个样本占一行(这样就是词典).每个样本的词典都有相同的关键字.有没有一种方法可以有效地将每个词典作为一行添加到数据帧中?

sample_1 = {"area": 2, "perimeter": 3, "diameter": 5}
sample_2 = {"area": 6, "perimeter": 3, "diameter": 8}

我想把它们组合成一个框架.列应为面积、周长和直径,行应为样品.我有超过5000个样本和20个变量存储在字典中.

我try 了函数pd.DataFrame.from_dict,但这将导致必须在数据帧中翻转每个词典,然后必须合并.

我不能将用于测量的函数的输出更改为数据帧,所以我必须使用字典.

推荐答案

将所有样本组合在一个列表中:

sample_1 = {'area': 2, 'perimeter': 3, 'diameter': 5}
sample_2 = {'area': 6, 'perimeter': 3, 'diameter': 8}

samples = [sample_1, sample_2]

out = pd.DataFrame(samples)

如果可以,最好删除中间变量名:

samples = [{'area': 2, 'perimeter': 3, 'diameter': 5},
           {'area': 6, 'perimeter': 3, 'diameter': 8},
          ]

out = pd.DataFrame(samples)

输出:

   area  perimeter  diameter
0     2          3         5
1     6          3         8

如果您的样本具有有意义的名称:

sample_1 = {'area': 2, 'perimeter': 3, 'diameter': 5}
sample_2 = {'area': 6, 'perimeter': 3, 'diameter': 8}

samples = {'A': sample_1, 'B': sample_2}

out = pd.DataFrame.from_dict(samples, orient='index')

输出:

   area  perimeter  diameter
A     2          3         5
B     6          3         8

Python相关问答推荐

如何根据日期和时间将状态更新为已过期或活动?

DataFrame groupby函数从列返回数组而不是值

将特定列信息移动到当前行下的新行

通过Selenium从页面获取所有H2元素

将图像拖到另一个图像

Django REST Framework:无法正确地将值注释到多对多模型,不断得到错误字段名称字段对模型无效'<><>

海上重叠直方图

在pandas中使用group_by,但有条件

为什么if2/if3会提供两种不同的输出?

numpy.unique如何消除重复列?

提高算法效率的策略?

如何在Great Table中处理inf和nans

polars:有效的方法来应用函数过滤列的字符串

语法错误:文档. evaluate:表达式不是合法表达式

为什么t sns.barplot图例不显示所有值?'

将CSS链接到HTML文件的问题

如何在Airflow执行日期中保留日期并将时间转换为00:00

在任何要保留的字段中添加引号的文件,就像在Pandas 中一样

多索引数据帧到标准索引DF

如何在Python中画一个只能在对角线内裁剪的圆?