python拼接两个数组_在Python中连接两个数组
根據你的描述,你的案子看起來像:In [344]: a=[np.arange(5),np.arange(5)]
In [345]: b=[np.arange(5),np.arange(3)]
In [346]: a
Out[346]: [array([0, 1, 2, 3, 4]), array([0, 1, 2, 3, 4])]
In [347]: b
Out[347]: [array([0, 1, 2, 3, 4]), array([0, 1, 2])]
In [348]: np.concatenate((a,a))
Out[348]:
array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4]])
In [349]: np.concatenate((a,a),axis=1)
Out[349]:
array([[0, 1, 2, 3, 4, 0, 1, 2, 3, 4],
[0, 1, 2, 3, 4, 0, 1, 2, 3, 4]])
但是如果我使用(a,b),它會抱怨維度不相等。在
當輸入本身是數組時,concatenate的行為更加清晰。這里是數組的列表。在
將np.array應用于a生成一個2行數組。np.concatenate((a,))也做同樣的事情。在
^{pr2}$
但是在b上嘗試該操作會產生一個object數組,因為這兩個元素的大小不相等。這基本上只是array包裝中的一個列表。在In [353]: np.array(b)
Out[353]: array([array([0, 1, 2, 3, 4]), array([0, 1, 2])], dtype=object)
將a和{}連接在一起意味著什么?首先弄清楚您希望b的數組版本是什么樣子。在In [361]: np.concatenate(b)
Out[361]: array([0, 1, 2, 3, 4, 0, 1, 2])
使用np.pad確保b的所有元素足夠長的示例:In [370]: b1=[np.pad(i,(0,5-i.shape[0]),mode='constant') for i in b]
In [371]: b1
Out[371]: [array([0, 1, 2, 3, 4]), array([0, 1, 2, 0, 0])]
In [372]: np.array(b1)
Out[372]:
array([[0, 1, 2, 3, 4],
[0, 1, 2, 0, 0]])
In [373]: np.concatenate((a,b1))
Out[373]:
array([[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 3, 4],
[0, 1, 2, 0, 0]])
總結
以上是生活随笔為你收集整理的python拼接两个数组_在Python中连接两个数组的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: self
- 下一篇: python谁是卧底游戏流程图_虎牙小程