我想计算词典列表中条目的平均值和标准差。我有以下表格的数据:
data = [{'x': [1,2,3,6],'y': [2.5,2,3,7],'list': "list1"},
{'x': [2,4,5,6],'y': [3,4,5,6],'list': "list2"},
{'x': [1,2,3,4,5,6],'y': [1.5,1,4,4,NaN,5],'list': "list3"}]
现在我想要' y'的平均值和标准差。对于每个' x'在不同的词典上。我已经发现我可以使用numpy.mean和numpy.std来完成任务。我的问题是如何访问' x'我只能为每个相应的' y'所有字典的输入,因为我遗漏了一些条目并在我的数据中处理NaN。因为我想在之后绘制它,我需要确保我有一个完整的列表' x'最后的条目。
我想要一个答案:
x = [1,2,3,4,5,6]
mean_y = [2,2,3.5,4,5,6]
答案 0 :(得分:1)
让我们首先重新格式化您的数据,好吗?因为你的格式很怪异。
import pandas
import numpy as np
data = [{'x': [1,2,3,6],'y': [2.5,2,3,7],'list': "list1"},
{'x': [2,4,5,6],'y': [3,4,5,6],'list': "list2"},
{'x': [1,2,3,4,5,6],'y': [1.5,1,4,4,np.NaN,5],'list': "list3"}]
b=pandas.DataFrame()
for elem in data:
d=dict()
for i in range(0, len(elem['x'])):
d[elem['x'][i]]=elem['y'][i]
a = pandas.Series(d)
b=b.append(a, ignore_index=True)
现在很简单
b.mean(0)
b.std(0)
答案 1 :(得分:0)
您有一个词典列表。要访问单独的字典,您需要访问列表中的元素。
例如
for j in dict_list:
avg(j['x'])
应为字典中的每个列表提供单独的值