如何平均顶部或底部 'n' 值 Python
How To Average Top Or Bottom 'n' Values In Python
如何计算 Python 中的平均顶部或底部 'n' 值?下例,column = c2 计算最近4天top 2的平均值。
c0 c1 c2
1 2 na
2 2 na
3 3 na
4 5 4
5 6 5.5
6 7 6.5
7 5 6.5
8 4 6.5
9 5 6
10 5 5
您可以先对值列表进行排序,然后将前 n
个值抓取到新列表中。然后通过将列表的总和除以列表中值的数量来平均它们。
n = 2
new_list = [1,5,4,3,2,6]
new_list.sort()
top_vals = new_list[:n]
top_vals_avg = sum(top_vals) / float(len(top_vals))
对列表进行排序,得到最后 n
个数的总和并除以 n
:
def avg_of_top_n(l, n):
return sum(sorted(l)[-n:]) / n
l = [2, 2, 3, 5, 6, 7, 5, 4, 5, 5]
for i in range(4, 11):
print(avg_of_top_n(l[i - 4: i], 2))
这输出:
4.0
5.5
6.5
6.5
6.5
6.0
5.0
如何计算 Python 中的平均顶部或底部 'n' 值?下例,column = c2 计算最近4天top 2的平均值。
c0 c1 c2
1 2 na
2 2 na
3 3 na
4 5 4
5 6 5.5
6 7 6.5
7 5 6.5
8 4 6.5
9 5 6
10 5 5
您可以先对值列表进行排序,然后将前 n
个值抓取到新列表中。然后通过将列表的总和除以列表中值的数量来平均它们。
n = 2
new_list = [1,5,4,3,2,6]
new_list.sort()
top_vals = new_list[:n]
top_vals_avg = sum(top_vals) / float(len(top_vals))
对列表进行排序,得到最后 n
个数的总和并除以 n
:
def avg_of_top_n(l, n):
return sum(sorted(l)[-n:]) / n
l = [2, 2, 3, 5, 6, 7, 5, 4, 5, 5]
for i in range(4, 11):
print(avg_of_top_n(l[i - 4: i], 2))
这输出:
4.0
5.5
6.5
6.5
6.5
6.0
5.0