在Python中对大型NumPy数组进行最小值、最大值和平均值的计算

3
我有一个非常大的NumPy数组:a = np.array。我想从这个数组中获取最小值、最大值和平均值,可以使用np.min(a)np.max(a)np.mean(a)来轻松完成。
然而,我还想要这个数组的一部分(开始部分或结束部分)的最小值、最大值和平均值。是否有一些函数可以实现这个功能,而不需要创建一个新的数组/列表(因为这会导致严重的性能损失)?
2个回答

7

4
如果你正在处理的块是连续的(即没有使用复杂的索引,此时部分将被复制),你可以使用通常的切片语法来获取对所讨论的数组部分的视图,而无需复制:
>>> import numpy as np
>>> arr = np.array([1,2,3,4,5])
>>> part = arr[1:3] # no copies here
>>> part[:] = 22,33
>>> print arr
[ 1 22 33  4  5]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接