在简单的情况下,您的数组大小可以由下采样因子(
R)整除,您可以
reshape对数组进行调整,然后沿新轴取平均值:
import numpy as npa = np.array([1.,2,6,2,1,7])R = 3a.reshape(-1, R)=> array([[ 1., 2., 6.], [ 2., 1., 7.]])a.reshape(-1, R).mean(axis=1)=> array([ 3. , 3.33333333])
在一般情况下,您可以使用
NaNs填充数组,使其大小可被整除
R,然后使用取平均值
scipy.nanmean。
import math, scipyb = np.append(a, [ 4 ])b.shape=> (7,)pad_size = math.ceil(float(b.size)/R)*R - b.sizeb_padded = np.append(b, np.zeros(pad_size)*np.NaN)b_padded.shape=> (9,)scipy.nanmean(b_padded.reshape(-1,R), axis=1)=> array([ 3. , 3.33333333, 4.])
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)