Python中数组均值计算与形状调整的实现方法
Python中数组均值计算与形状调整的实现方法
嗨,我来帮你搞定这个多维数组的均值计算问题~ 首先咱们先明确一下你的数组维度:形状(901, 201, 3, 20)对应的四个维度索引是0到3,你说的“第三个矩阵”其实就是索引为2的维度(也就是长度为3的那个维度),咱们要对这个维度求均值,就能得到你想要的两种形状结果啦。
假设你用的是Python里最常用的numpy库来处理这个数组,下面给你两种具体的实现方式:
得到形状为
(901, 201, 20)的结果
直接使用np.mean()函数,指定计算均值的维度为axis=2,默认情况下keepdims参数是False,会自动压缩掉计算后的那个维度:import numpy as np # 假设你的数组是arr,形状为(901, 201, 3, 20) arr = np.random.rand(901, 201, 3, 20) mean_result = np.mean(arr, axis=2) print(mean_result.shape) # 输出 (901, 201, 20)得到形状为
(901, 201, 1, 20)的结果
如果想要保留原来的维度结构(把长度为3的维度变成1),只需要把keepdims参数设为True就行:mean_result_with_dim = np.mean(arr, axis=2, keepdims=True) print(mean_result_with_dim.shape) # 输出 (901, 201, 1, 20)
简单来说,核心就是指定对的维度索引axis=2,再根据你想要的结果形状选择是否开启keepdims,是不是很简单😉
备注:内容来源于stack exchange,提问作者TThoye
相关产品推荐
相关产品推荐

