【问题标题】:Take Mean of Multiple Multidimensional array in a dictionary取字典中多个多维数组的平均值
【发布时间】:2019-01-14 01:41:34
【问题描述】:

我有一个包含 50(天)多维网格(纬度/经度)降水数据数组的字典。每个数组的大小为 (88, 40)。如何计算所有 50 个数组的平均值,并获得与 (88, 40) 相同维度的结果?即需要在所有 50 天的同一纬度/经度点取平均值。

如果我在以下代码中使用带有键的字典名称,它可以工作几天:

np.nanmean((arraysDict['ppt_subset0'], arraysDict['ppt_subset1']), axis =0)

这些是我的字典数组Dict 的键 ['ppt_subset0', 'ppt_subset1', ... 'ppt_subset49']

但我不知道怎么做这 50 天,除了在我所有字典的代码中输入“arraysDict['ppt_subset0']”50 次。

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    您可以将其转换为一个巨大的 3 维 numpy 数组,然后计算平均值:

    arr = np.array(list(arraysDict.values()))
    mean = arr.mean(axes=0)
    

    请注意,arr 不一定按顺序包含子数组(或天数)。

    【讨论】:

    • 并不真正关心平均值。
    【解决方案2】:

    您可以使用.values() 获取字典的所有值:

    np.nanmean(list(arraysDict.values()), axis=0)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      相关资源
      最近更新 更多