Python 如何连接两个spitted数组

Python 如何连接两个spitted数组,python,arrays,split,Python,Arrays,Split,假设我们有数组x x = np.array([1, 2, 3, 99, 99, 3, 2, 1]) x1, x2, x3 = np.split(x, [3, 6]) 我想使用append这个两个分开的数组,比方说x1和x2,我想像[1,2,3,2,1]一样连接起来 如果我使用的是串联 x4 = x1+x3 x4 我们得到的错误就像 ValueError:操作数无法与形状(3,)(2,)一起广播 我们可以做什么来连接两个拆分的数组。你能帮我解决这个问题吗?+是numpy阵列的元素级加法。我猜您

假设我们有数组x

x = np.array([1, 2, 3, 99, 99, 3, 2, 1])
x1, x2, x3 = np.split(x, [3, 6])
我想使用append这个两个分开的数组,比方说x1和x2,我想像[1,2,3,2,1]一样连接起来 如果我使用的是串联

x4 = x1+x3
x4
我们得到的错误就像 ValueError:操作数无法与形状(3,)(2,)一起广播


我们可以做什么来连接两个拆分的数组。你能帮我解决这个问题吗?

+
是numpy阵列的元素级加法。我猜您正在寻找
np.concatenate

>>> np.concatenate([x1, x2])                                                    
array([ 1,  2,  3, 99, 99])
您可以使用以获得所需的结果:

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
代表垂直堆栈,这些函数也可以用于多维数组。

非常感谢。。像wise一样,如果我们用较小的数组丢弃/减去较大的数组,那么我们可以为这种情况做什么,例如[1,2,3,4,5]-[4,5]=[1,2,3,4],我们可以为this@LalatenduJena为什么结果中有
4
?是的,很抱歉输入错误,它是[1,2,3]only@LalatenduJena没有内置的函数可以做到这一点,您必须编写一些自定义逻辑。好的,谢谢您的回复。。。。我将尝试为此编写内置函数