我想在python中使用数据框找到唯一值的平均值。 例如,我有一个数据集:
[c1] [c2]
foo 3.2
bar 4.3
foo 3.0
foo 2.3
bar 4.5
foo 1.9
bar 4.4
我希望输出为:
foo = 4的平均值和foo的平均值为2.6 //(即。(3.2 + 3.0 + 2.3 + 1.9)/ 4))
bar的数量= 3,bar的平均值为4.4 //(即。(4.3 + 4.5 + 4.4)/ 3))
答案 0 :(得分:0)
假设您将值存储在名为data_averages的列表中:
import numpy as np # numpy module
# Your data_averages list that contains average
foo_list=[]
bar_list=[]
for i in range(len(data_averages)):
if data_averages[i] == 'foo':
foo_list.append(data_averages[i][1])
else:
bar_list.append(data_averages[i][1])
foo_avg = np.average(foo_list)
bar_list= np.average(bar_list)
print('Foo: ', foo_avg)
print('Bar: ', bar_avg)
基本上,您的脚本会检查列表的第一列(data_averages)。
您的列表可能看起来像这样,以便您的代码可以使用:
# Make sure it is in following format: [string, float]
[['foo', 3.2],
['bar', 4.3],
['foo', 3.0]]
# And so on...
我希望这有帮助!如果代码中有错误,请在下面发表评论,我会尽力尽快回复。