我有一些python的問題。蟒蛇並排追加兩個矩陣
A= [ [1,2,3]
[4,5,6]
]
B = [ [10,11]
[12,13]
]
我想有:
C = [A B]
= [ [1,2,3, 10, 11]
[4,5,6, 12, 13]
]
我該怎麼做,在蟒蛇?
我有一些python的問題。蟒蛇並排追加兩個矩陣
A= [ [1,2,3]
[4,5,6]
]
B = [ [10,11]
[12,13]
]
我想有:
C = [A B]
= [ [1,2,3, 10, 11]
[4,5,6, 12, 13]
]
我該怎麼做,在蟒蛇?
你可以做這樣的事情,在壓縮基本將每個列表(A,B)對象:
>>> [x + y for x, y in zip(A, B)]
[[1, 2, 3, 10, 11], [4, 5, 6, 12, 13]]
另外,使用np.concatenate
與axis=1
In [207]: np.concatenate((A, B), axis=1)
Out[207]:
array([[ 1, 2, 3, 10, 11],
[ 4, 5, 6, 12, 13]])
如果你關心性能,np.concatenate
是真正的戰爭馬。
In [215]: %timeit np.concatenate((A, B), 1)
The slowest run took 12.10 times longer than the fastest.
100000 loops, best of 3: 3.1 µs per loop
In [214]: %timeit np.hstack((A,B))
The slowest run took 6.85 times longer than the fastest.
100000 loops, best of 3: 12.5 µs per loop
In [216]: %timeit np.c_[A, B]
10000 loops, best of 3: 48.7 µs per loop
如果你問列表的numpy的陣列(按你的標籤)或列表(按你的標題矩陣)
不能告訴...但:
來連接列表中,您只需將它們添加一起:
A = [[1,2,3],[4,5,6]]
B = [[10,11],[12,13]]
C = [A[0]+B[0],A[1]+B[1]]
print C
>>>
[[1, 2, 3, 10, 11], [4, 5, 6, 12, 13]]
,如果你有陣列,你開始可以使用append方法:
import numpy as np
A = np.array([[1,2,3],[4,5,6]])
B = np.array([[10,11],[12,13]])
C = np.array([np.append(A[0],B[0]),np.append(A[1],B[1])])
print C
>>>
[[ 1 2 3 10 11]
[ 4 5 6 12 13]]
也許是值得一提的是' np.hstack'實際上使用'np.concatenate',所以它永遠不會更快。我們應該更喜歡使用更高級的API,除非最大性能是必要的。 – wim