You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用NumPy计算元组数组的均值并无需循环返回两个结果?

解决numpy数组按维度计算均值的问题

嘿,这个问题我之前也踩过坑!你现在得到的2.0是因为np.average默认会把整个数组扁平化后计算全局均值,咱们只需要指定axis参数,就能分别计算每个维度的均值,完全不用循环~

具体解决方案

首先把你的列表转成numpy数组(因为原数据是列表嵌套元组,numpy需要统一的数组格式),然后通过axis=0参数指定按列计算均值:

import numpy as np

sample_array = [(1,3),(2,2),(3,1)]
# 先转换为numpy数组
np_array = np.array(sample_array)
# 指定axis=0,计算每一列的均值
mean_result = np.average(np_array, axis=0)

print(mean_result)  # 输出: [2. 2.]

补充说明

  • axis=0的作用是沿着行的方向(第一个轴),对每一列的元素求均值,正好对应你想要的两个结果值。
  • 如果需要整数类型的结果,可以用astype()转换:mean_result.astype(int),会得到array([2, 2])。
  • 另外np.mean()也能实现同样的效果,用法一致:np.mean(np_array, axis=0),结果和np.average相同。

内容的提问来源于stack exchange,提问作者slimboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:19:18