繁体   English   中英

Python中大型NumPy数组的min,max和mean

[英]min, max and mean over large NumPy arrays in Python

我有一个非常大的NumPy数组: a = np.array 从这个数组我想得到min,max和average,这可以用np.min(a)np.max(a)np.mean(a)轻松完成。

但是,我还希望得到该数组的一部分(开始部分或结束部分)的最小值,最大值和平均值。 如果没有创建新的数组/列表,是否有一些功能(因为这会导致性能损失)?

基本切片生成的所有数组始终是原始数组的视图。

http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html

所以,是的,只需使用切片。

如果您正在处理的块是连续的(即没有花哨的索引,在这种情况下,部件将被复制),您可以使用通常的切片语法来获取相关数组部分的视图,而无需复制:

>>> 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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM