Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用numpy.mean进行平均直到一个数字N_Python_Numpy_Average_Mean - Fatal编程技术网

Python 使用numpy.mean进行平均直到一个数字N

Python 使用numpy.mean进行平均直到一个数字N,python,numpy,average,mean,Python,Numpy,Average,Mean,假设我有一个包含10个元素的列表 a = [1,2,3,4,5,6,7,8,9,0] 我只想取N元素的平均值,比如4,也就是说, 平均[1,2,3,4]如何使用Numpy 通常我可以迭代一个列表,但这会花费我一个额外的列表,我不想投资 文档没有提供任何信息。假设您有一个numpy数组而不是列表,只需将第一个N元素切片,然后使用mean方法 (如果你想让事情正常运行,不管它是一个列表还是一个numpy数组,使用np.mean(a[:4]),就像上面@larsmans建议的那样。) 比如说 imp

假设我有一个包含10个元素的列表

a = [1,2,3,4,5,6,7,8,9,0]
我只想取
N
元素的平均值,比如
4
,也就是说,
平均[1,2,3,4]
如何使用
Numpy

通常我可以迭代一个列表,但这会花费我一个额外的列表,我不想
投资


文档没有提供任何信息。

假设您有一个numpy数组而不是列表,只需将第一个
N
元素切片,然后使用
mean
方法

(如果你想让事情正常运行,不管它是一个列表还是一个numpy数组,使用
np.mean(a[:4])
,就像上面@larsmans建议的那样。)

比如说

import numpy as np
x = np.arange(10)
print x
print 'Mean of first 4 items in x', x[:4].mean()
对numpy数组(即
y=x[:4]
进行切片不会使用numpy数组制作副本(与列表一样)。相反,它将“视图”返回到
x
。这不会复制内存,因此非常有效


对numpy数组的部分进行切片和操作是一种非常常见的习惯用法。有关更多信息,请参阅文档:‎

如果您不想要额外的列表开销,可以编写一个简单的均值函数:

def mean_of_n(arr, n):
    index = 0
    current_sum = 0
    n = min(n, len(arr))
    while index < n:
        current_sum += arr[index]
        index += 1
    return float(current_sum) / n
def平均值n(arr,n):
索引=0
电流和=0
n=最小值(n,len(arr))
当指数
你的意思是
np.mean(a[:4])
?是的。愚蠢,我错过了。