三维 numpy 数组切片的谐波平均值

时间:2020-12-30 16:12:31

标签: python arrays numpy

给定一个三维数组,我想计算二维切片上的算术平均值和调和平均值。

这可以使用 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)

1 个答案:

答案 0 :(得分:1)

您可以坚持使用 numpy 并调整您的代码来计算调和平均值,如下所示-

items