给定三个列表:
A = [1, 2, 3]
B = [4, 5, 6]
C = [7, 8, 9]
如何计算以下(列)的平均值?
- [1, 4, 7] 的平均值
- [2, 5, 8] 的平均值
- [3, 6, 9] 的平均值
不是下面的(行),
- [1, 2, 3] 的平均值
- [4, 5, 6] 的平均值
- [7, 8, 9] 的平均值
import numpy as np
A = np.array([1,2,3])
B = np.array([4,5,6])
C = np.array([7,8,9])
我该怎么办?
最佳答案
>>> np.array([
... [1,2,3],
... [4,5,6],
... [7,8,9]
... ]).transpose().mean(axis=1)
array([ 4., 5., 6.])
或使用 numpy.transpose :
>>> np.transpose([
... [1,2,3],
... [4,5,6],
... [7,8,9]
... ]).mean(axis=1)
array([ 4., 5., 6.])
更新
正如 Dave Hirschfeld 评论的那样,axis=0
的平均值要好得多:
>>> np.array([
... [1,2,3],
... [4,5,6],
... [7,8,9]
... ]).mean(axis=0)
array([ 4., 5., 6.])
关于python - 在 NumPy 中计算数组的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19886584/