通过使用NumPy对相邻值求平均值来减小数组大小 [英] Decrease array size by averaging adjacent values with numpy

查看:23
本文介绍了通过使用NumPy对相邻值求平均值来减小数组大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在NumPy中有数千个数字的大数组。我想通过取相邻值的平均值来减小它的大小。 例如:

a = [2,3,4,8,9,10]
#average down to 2 values here
a = [3,9]
#it averaged 2,3,4 and 8,9,10 together

基本上,我在数组中有n个元素,我想告诉它向下取X个值的平均值,它的平均值如下所示。

有什么方法可以用NumPy做到这一点(它已经被用于其他用途,所以我想继续使用它)。

推荐答案

使用reshapemean,可以对大小为N*m的一维数组的每m个邻接值进行平均,N是任意正整数。例如:

import numpy as np

m = 3
a = np.array([2, 3, 4, 8, 9, 10])
b = a.reshape(-1, m).mean(axis=1)
#array([3., 9.])

1)a.reshape(-1, m)将在不复制数据的情况下创建数组的2D图像:

array([[ 2,  3,  4],
       [ 8,  9, 10]])

2)取第二个轴的平均值(axis=1),然后计算每一行的平均值,结果是array([3., 9.])

这篇关于通过使用NumPy对相邻值求平均值来减小数组大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆