【问题标题】:Python, interleaving two or more linspace arraysPython,交错两个或多个 linspace 数组
【发布时间】:2022-11-01 23:12:50
【问题描述】:

我有三个长度相等的 linspace 数组:a、b 和 c。我想通过以下方式将数组交错在一起。

([a[0], b[0], c[0]], [a[1], b[1], c[1]], [a[2], b[2], c[2] ], 。 。 。 ETC。)

我见过许多交错两个或多个数组的示例,但没有将关联的值组合在一起。我需要这种方式,因为在我的数组中,a[0] 与 b[0] 和 c[0] 相关联。当我打印生成的交错数组时,哪些值相互关联,而不必从一开始就计算。

我环顾四周寻找不同的解决方案,但我无法找到将相关值组合在一起的交错数组的示例。

【问题讨论】:

    标签: python arrays interleave linspace


    【解决方案1】:

    在每个数组的最后添加一个大小为 1 的新轴,并沿新轴连接它们。

    import numpy as np
    
    a, b, c = np.linspace(0, 4, 3), np.linspace(1, 5, 3), np.linspace(2, 6, 3)
    print(a, b, c)
    # [0. 2. 4.] [1. 3. 5.] [2. 4. 6.]
    
    result = np.concatenate([x.reshape(*(x.shape), 1) for x in (a, b, c)], axis=-1)
    
    print(result)
    # [[0. 1. 2.] 
    #  [2. 3. 4.] 
    #  [4. 5. 6.]]
    

    【讨论】:

      猜你喜欢
      • 2013-05-29
      • 2021-04-17
      • 2016-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      相关资源
      最近更新 更多