Skip to content

Staking and Splitting Arrays

Combining arrays

np.concatenatenp.concatenate

Concatenate along an axis.

concat
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.concatenate([a, b]))
concat
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.concatenate([a, b]))

For 2D arrays:

concat2d
import numpy as np
 
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
 
print(np.concatenate([a, b], axis=0))  # stack rows
print(np.concatenate([a, b], axis=1))  # stack cols
concat2d
import numpy as np
 
a = np.array([[1, 2], [3, 4]])
b = np.array([[5, 6], [7, 8]])
 
print(np.concatenate([a, b], axis=0))  # stack rows
print(np.concatenate([a, b], axis=1))  # stack cols

np.vstacknp.vstack and np.hstacknp.hstack

vstack-hstack
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.vstack([a, b]))
print(np.hstack([a, b]))
vstack-hstack
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.vstack([a, b]))
print(np.hstack([a, b]))

np.stacknp.stack (adds a new axis)

stack
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.stack([a, b], axis=0).shape)  # (2, 3)
print(np.stack([a, b], axis=1).shape)  # (3, 2)
stack
import numpy as np
 
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
 
print(np.stack([a, b], axis=0).shape)  # (2, 3)
print(np.stack([a, b], axis=1).shape)  # (3, 2)

Splitting arrays

np.splitnp.split

split
import numpy as np
 
arr = np.arange(10)
a, b = np.split(arr, [6])
print(a)
print(b)
split
import numpy as np
 
arr = np.arange(10)
a, b = np.split(arr, [6])
print(a)
print(b)

np.hsplitnp.hsplit and np.vsplitnp.vsplit

hsplit-vsplit
import numpy as np
 
mat = np.arange(16).reshape(4, 4)
left, right = np.hsplit(mat, 2)
print(left)
print(right)
 
top, bottom = np.vsplit(mat, 2)
print(top)
print(bottom)
hsplit-vsplit
import numpy as np
 
mat = np.arange(16).reshape(4, 4)
left, right = np.hsplit(mat, 2)
print(left)
print(right)
 
top, bottom = np.vsplit(mat, 2)
print(top)
print(bottom)

Next

Continue to: NumPy Random Module for generating reproducible random numbers and sampling.

πŸ§ͺ Try It Yourself

Exercise 1 – Create a NumPy Array

Exercise 2 – Array Shape and Reshape

Exercise 3 – Array Arithmetic

If this helped you, consider buying me a coffee β˜•

Buy me a coffee

Was this page helpful?

Let us know how we did