2013-08-23 7 views
6

próbuję łączyć tablice w python podobny do matlabłączenie tablic w Pythonie jak Matlab, nie znając rozmiaru tablicy wyjściowej

array1= zeros(3,500); 
array2=ones(3,700); 
array=[array1, array2]; 

zrobiłem następujące w Pythonie jednak

array1=np.zeros((3,500)) 
array2=np.ones((3,700)) 
array=numpy.concatenate((array1, array2), axis=2) 

to daje mi inne wyniki, gdy mam dostęp do próby "array [0 ,:]" czy istnieje sposób w Pythonie, aby umieścić tablice w jednej tablicy podobnej do Matlaba.

Dziękuję

+0

pamiętać, że przykładowy kod powinien mieć dwie pary nawiasów, jak '' np.zeros ((3500)) '' – joris

+1

Uh, z jakiego kodu dokładnie korzystasz? 'axis = 2' nie działa, indeksy zaczynają się od 0 w pythonie. W przeciwnym razie działa dobrze dla mnie, w obu przypadkach otrzymuję jeden wielki wiersz. –

+0

dziala dziękuję –

Odpowiedz

8

concatenate((a,b),1) lub hstack((a,b)) lub column_stack((a,b)) lub c_[a,b]

stąd: http://wiki.scipy.org/NumPy_for_Matlab_Users

+0

to daje mi zwrot _nx.concatenate (tablice, 1) ValueError: wszystkie wejściowe wymiary tablicy z wyjątkiem osi konkatenacji muszą dokładnie odpowiadać –

+0

'' np.concatenate ((array1, array2), axis = 1) '' działa dla mnie. Czego dokładnie spróbowałeś? – joris

+0

działa świetnie, dziękuję –