Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stacking arrays in numpy

I have two arrays:

A = np.array([1, 2, 3])
B = np.array([2, 3, 4])
C = np.stack((A, B), axis=0)

print C.shape
(2, 3)

Shouldn't the shape be (6,) ?

like image 340
harman Avatar asked Jul 17 '26 12:07

harman


1 Answers

Using the np.stack() function you can specify which axis would you like to be considered the index axis. So as you can see you will never get a shape of 6, only (2,3) or (3,2) for this example depending on what axis you chose.

See below:

A = np.array([1, 2, 3])
B = np.array([2, 3, 4])
arrays = [A, B]

With this code:

print(np.stack(arrays, axis=0))

you get this output:

[[1 2 3]
 [2 3 4]]

with this code:

print(np.stack(arrays, axis=1))

you get this output:

[[1 2]
 [2 3]
 [3 4]]
like image 198
Ivan86 Avatar answered Jul 20 '26 00:07

Ivan86