我有一个非常大的NumPy数组:a = np.array
。从这个数组我想得到最小值,最大值和平均值,可以使用np.min(a)
,np.max(a)
和np.mean(a)
轻松完成。
但是,我还希望得到此数组的一部分(开始部分或结束部分)的最小值,最大值和平均值。如果没有创建新的数组/列表,是否有一些功能(因为这会导致性能损失)?
答案 0 :(得分:7)
答案 1 :(得分: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]