一個一維數組插入值的2名維數組比方說,我們有兩個數組如何使用numpy的
a = [1, 2]
b = [ [A, B, C], [D, E, F] ]
我想通過梳理& b
使c = [ [1,A, B, C], [2, D, E, F] ]
如何做到這一點?
a和b的一級兒童數量相同。
一個一維數組插入值的2名維數組比方說,我們有兩個數組如何使用numpy的
a = [1, 2]
b = [ [A, B, C], [D, E, F] ]
我想通過梳理& b
使c = [ [1,A, B, C], [2, D, E, F] ]
如何做到這一點?
a和b的一級兒童數量相同。
您需要reshape
a
所以就變成了2×1陣列,那麼你可以使用hstack
以水平堆疊陣列:
In[13]:
np.hstack([a.reshape((2,1)), b])
Out[13]:
array([['1', 'A', 'B', 'C'],
['2', 'D', 'E', 'F']],
dtype='<U11')
由於由numpy master @Divakar建議,如果您切片數組並將None
作爲其中一個軸,則可以引入或重新整形陣列,而不需要reshape
:
In[14]:
np.hstack([a[:,None], b])
Out[14]:
array([['1', 'A', 'B', 'C'],
['2', 'D', 'E', 'F']],
dtype='<U11')
它在docs解釋,尋找newaxis
例如
你可以使用zip
和列表理解:
a = [1, 2]
b = [['a', 'b', 'c'], ['d', 'e', 'f']]
c = [[e] + l for e, l in zip(a, b)]
print(c) #=> [[1, 'a', 'b', 'c'], [2, 'd', 'e', 'f']]
爲了使它通用:'一[:,無]'。 – Divakar
@Divakar這是真的,將更新,謝謝 – EdChum
或'a.reshape(-1,1)',如果你覺得'重塑'更清晰 –