【问题标题】:How we Concatenate Two spitted array [duplicate]我们如何连接两个吐出的数组[重复]
【发布时间】:2020-06-26 17:44:35
【问题描述】:

假设我们有数组 x

x = np.array([1, 2, 3, 99, 99, 3, 2, 1])
x1, x2, x3 = np.split(x, [3, 6])

我想使用附加这两个拆分的数组让我们说 x1 和 x2 我想像 [1, 2, 3, 2, 1] 一样连接 如果我用于连接

x4 = x1+x3
x4

我们遇到了类似的错误 ValueError: 操作数不能与形状 (3,) (2,) 一起广播

我们可以为 Concatenation two split array 做些什么。你能帮我解决这个问题吗

【问题讨论】:

    标签: python arrays split


    【解决方案1】:

    您可以使用np.hstack 来获得想要的结果:

    import numpy as np
    x = np.array([1, 2, 3, 99, 99, 3, 2, 1])
    x1, x2, x3 = np.split(x, [3, 6])
    x4 = np.hstack((x1, x3))
    print(x4)  # [1 2 3 2 1]
    

    hstack代表水平栈,还有vstack代表垂直栈,这些函数也可以用于多维数组。

    【讨论】:

      【解决方案2】:

      + 是 numpy 数组的元素相加。我猜你在找np.concatenate

      >>> np.concatenate([x1, x2])                                                    
      array([ 1,  2,  3, 99, 99])
      

      【讨论】:

      • 非常感谢.. 同样,如果我们用较小的数组丢弃/减去较大的数组,那么我们可以为这种情况做些什么示例 [1, 2, 3, 4, 5] - [4 ,5] = [1,2,3,4] ,我们可以为此做些什么
      • @LalatenduJena 为什么结果中有4
      • 是的,很抱歉输入错误它只是 [1,2,3]
      • @LalatenduJena 没有内置函数可以做到这一点,你必须编写一些自定义逻辑。
      • 好的,谢谢您的回复....我会尝试为此编写内置函数
      猜你喜欢
      • 2019-04-03
      • 2014-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多