给定一个三维数组,我想计算二维切片上的算术平均值和调和平均值。
这可以使用 numpy 的算术平均值轻松完成:
{'AAPL': {
# ...
'enterpriseValue': 2324367933440,
# ...
},
'MSFT': {
# ...
'enterpriseValue': 1639952154624,
# ...
}
}
为了调和平均,我必须自己对三维数组进行切片。 我可以沿着第一个(第 0 个)轴这样做,例如:
import numpy as np
a = np.arange(5*3*3).reshape(5,3,3)
np.mean(a,axis=(1,2))
我如何重塑/切片我的三维数组以计算垂直于其他轴的平均值(即,轴 0 和 2 或轴 0 和 1 的平均值)?
为了澄清,相应的算术平均值简单地由下式给出:
from scipy import stats
b = a.reshape(np.shape(a)[0], -1)
stats.hmean(b,axis=1)
答案 0 :(得分:1)
您可以坚持使用 numpy 并调整您的代码来计算调和平均值,如下所示-
items