通过使用NumPy对相邻值求平均值来减小数组大小

Decrease array size by averaging adjacent values with numpy(通过使用NumPy对相邻值求平均值来减小数组大小)
本文介绍了通过使用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对相邻值求平均值来减小数组大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)