如何在python中找到唯一行的平均值

2024-04-25 19:57:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用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)

棒数=3,平均棒数为4.4/(即(4.3+4.5+4.4)/3)


Tags: 数据foobar平均值计数c2c1棒数
1条回答
网友
1楼 · 发布于 2024-04-25 19:57:02

假设您将值存储在名为data\u 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\u averages)。你知道吗

为了使代码正常工作,您的列表可能如下所示:

# Make sure it is in following format: [string, float]
[['foo', 3.2],
['bar', 4.3],
['foo', 3.0]]
# And so on...

我希望这有帮助!如果代码中有错误,请在下面发表评论,我会尽我所能尽快回复。你知道吗

相关问题 更多 >