【问题标题】:Convert a 4D array to 3D in Python by merging the months and years columns通过合并月份和年份列,在 Python 中将 4D 数组转换为 3D
【发布时间】:2015-10-05 05:33:39
【问题描述】:

我有一个 4D 数组,它有两个空间方向,一个月列和一个年列。它给出了每个空间点和每个月的标量值。我想将此数组重塑为 3D,以便将值定义为 x、y、月、年,而不是定义为 x、y、月,现在月列从 1-36 运行,说没有年列而不是 1-12 年列 1-3。我将如何在 Python 中做到这一点?谢谢!

【问题讨论】:

  • 贴出你目前尝试过的代码和一些数据样本
  • 请提供一些细节。目前这个问题不清楚太宽泛,可能会因为这些原因而被关闭。
  • 请参考stackoverflow.com/help/mcve。对于这个问题,我们至少需要到目前为止的代码和您在该问题上所做的最佳尝试,以及您从中获得的输出。

标签: python reshape


【解决方案1】:

基本方法是将新列编码如下:

new_month = old_month + 12*(old_year-1)

这会将您的 3 年规模转换为编号为 1-36 的连续月份。我无法向您展示如何编写代码,因为(1)您没有给我们参考代码,所以我不知道您的 4D 数组的结构; (2) 我希望您已经阅读了帮助文档,我们不是编码服务。

【讨论】:

    【解决方案2】:

    添加一个值为(year-1)*12+month 的新列,然后丢弃或忽略您的年份和月份列。 详细信息取决于您的数据当前的结构,如果它是一个 numpy 数组,这将是 2 行代码!

    【讨论】:

      猜你喜欢
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多