You want vstack:

In [45]: a = np.array([[1,2,3]])

In [46]: l = [4,5,6]

In [47]: np.vstack([a,l])
Out[47]: 
array([[1, 2, 3],
       [4, 5, 6]])

You can stack multiple rows on the condition that The arrays must have the same shape along all but the first axis.

In [53]: np.vstack([a,[[4,5,6], [7,8,9]]])
Out[53]: 
array([[1, 2, 3],
       [4, 5, 6],
       [4, 5, 6],
       [7, 8, 9]])
Answer from Padraic Cunningham on Stack Overflow
🌐
Medium
medium.com › @whyamit101 › how-to-append-two-arrays-in-numpy-efa74e5e2788
How to Append Two Arrays in NumPy? | by why amit | Medium
February 26, 2025 - If you’ve ever needed to merge two arrays in NumPy, numpy.append() is your go-to method.
Discussions

python - Numpy append 2D array in for loop over rows - Stack Overflow
I want to append a 2D array created within a for-loop vertically. I tried append method, but this won't stack vertically (I wan't to avoid reshaping the result later), and I tried the vstack() func... More on stackoverflow.com
🌐 stackoverflow.com
do you guys know how to add append an array in a 2d array?
Easy way: x = your_list[0] for i in range(len(5)): your_list.append(x) Might be a more optimized way to do it but at least it should work More on reddit.com
🌐 r/learnpython
5
5
February 19, 2024
python - Concatenate a NumPy array to another NumPy array - Stack Overflow
I have a numpy_array. Something like [ a b c ]. And then I want to concatenate it with another NumPy array (just like we create a list of lists). How do we create a NumPy array containing NumPy arr... More on stackoverflow.com
🌐 stackoverflow.com
python - Want to append 2 2d arrays in numpy - Stack Overflow
Nope, this is not possible. As you've said, you have two 2D arrays. What sort of array has a different number of columns in the first row than in the fifth row? Your second approach works because now you're just concatenating two lists. The fact that the lists both contain lists as elements ... More on stackoverflow.com
🌐 stackoverflow.com
June 26, 2014
🌐
NumPy
numpy.org › doc › stable › reference › generated › numpy.append.html
numpy.append — NumPy v2.5 Manual
Delete elements from an array. ... Try it in your browser! >>> import numpy as np >>> np.append([1, 2, 3], [[4, 5, 6], [7, 8, 9]]) array([1, 2, 3, ..., 7, 8, 9])
🌐
Note.nkmk.me
note.nkmk.me › home › python › numpy
NumPy: append() to add values to an array | note.nkmk.me
February 4, 2024 - By default, when the first argument is a two-dimensional array, it is flattened to one dimension, and then the values from the second argument are appended to it. a_2d = np.arange(6).reshape(2, 3) print(a_2d) # [[0 1 2] # [3 4 5]] ...
🌐
w3resource
w3resource.com › numpy › manipulation › append.php
Numpy: numpy.append() function - w3resource
April 25, 2026 - In the above code, the np.append() function is used to append arrays in NumPy. The first argument passed to the function is a one-dimensional NumPy array and the second argument is a two-dimensional NumPy array.
Find elsewhere
🌐
iO Flood
ioflood.com › blog › numpy-append
Numpy Append Function: From Basics to Advanced Usage
January 31, 2024 - The result is a new 2D array new_arr where the rows of arr2 are appended to the rows of arr1. It’s important to note that when using the ‘axis’ parameter, the arrays must have the same shape along all but the specified axis. Otherwise, a ValueError will be raised. Understanding how to use the ‘axis’ parameter effectively can greatly expand your data manipulation capabilities with Numpy.
🌐
DataCamp
datacamp.com › doc › numpy › append
NumPy append()
NumPy's `append()` function is used to add elements to the end of an existing array, effectively creating a new array with the additional elements.
🌐
NumPy
numpy.org › doc › 2.2 › reference › generated › numpy.append.html
numpy.append — NumPy v2.2 Manual
Delete elements from an array. ... >>> import numpy as np >>> np.append([1, 2, 3], [[4, 5, 6], [7, 8, 9]]) array([1, 2, 3, ..., 7, 8, 9])
🌐
GeeksforGeeks
geeksforgeeks.org › how-to-concatenate-two-2-dimensional-numpy-arrays
How to Concatenate two 2-dimensional NumPy Arrays? | GeeksforGeeks
August 9, 2021 - But first, we have to import the NumPy package to use it: ... Then two 2D arrays have to be created to perform the operations, by using arrange() and reshape() functions.
🌐
TutorialsPoint
tutorialspoint.com › numpy › numpy_append_values_to_an_array.htm
NumPy - Append Values to an Array
To append rows to a 2D array, we can use the np.vstack() function. This function stacks arrays vertically or concatenate along axis 0.
🌐
Sparrow Computing
sparrow.dev › home › blog › how the numpy append operation works
How the NumPy append operation works - Sparrow Computing
October 15, 2021 - This behavior is clearly laid out ... to work. If you want to append a row to a 2D array in NumPy, you need to 1) make sure the appended value has the same number of dimensions and 2) specify the axis:...
🌐
w3resource
w3resource.com › python-exercises › numpy › python-numpy-exercise-58.php
NumPy: Concatenate two 2-dimensional arrays - w3resource
August 29, 2025 - Sample arrays: ([[0, 1, 3], [5, 7, 9]], [[0, 2, 4], [6, 8, 10]] ... # Importing the NumPy library with an alias 'np' import numpy as np # Creating two NumPy arrays 'a' and 'b' a = np.array([[0, 1, 3], [5, 7, 9]]) b = np.array([[0, 2, 4], [6, 8, 10]]) # Concatenating arrays 'a' and 'b' along the second axis (horizontally) using np.concatenate c = np.concatenate((a, b), 1) # Printing the concatenated array 'c' print(c)
🌐
NumPy
numpy.org › doc › 2.0 › reference › generated › numpy.append.html
numpy.append — NumPy v2.0 Manual
Delete elements from an array. ... When axis is specified, values must have the correct shape. >>> np.append([[1, 2, 3], [4, 5, 6]], [[7, 8, 9]], axis=0) array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) >>> np.append([[1, 2, 3], [4, 5, 6]], [7, 8, 9], axis=0) Traceback (most recent call last): ...
🌐
DigitalOcean
digitalocean.com › community › tutorials › numpy-append-in-python
numpy.append() in Python | DigitalOcean
August 3, 2022 - In the second example, the array shapes are 1x2 and 2x2. Since we are appending along the 0-axis, the 0-axis shape can be different. The other shapes should be the same, so this append() will also work fine. ... Let’s look at another example where ValueError will be raised. >>> import numpy as np >>> >>> arr3 = np.append([[1, 2]], [[1, 2, 3]], axis=0) Traceback (most recent call last): File "", line 1, in File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/function_base.py", line 4528, in append return concatenate((arr, values), axis=axis) ValueError: all the input array dimensions except for the concatenation axis must match exactly >>>
🌐
GeeksforGeeks
geeksforgeeks.org › python › numpy-append-python
numpy.append() in Python - GeeksforGeeks
April 14, 2025 - When working with multi-dimensional arrays you can specify the axis parameter to control how the values are appended. ... import numpy as geek arr1 = geek.arange(8).reshape(2, 4) print("2D arr1 :", arr1) print("Shape :", arr1.shape) arr2 = geek.arange(8, 16).reshape(2, 4) print("2D arr2:", arr2) print("Shape :", arr2.shape) arr3 = geek.append(arr1, arr2) print("Appended arr3 by flattened :", arr3) arr3 = geek.append(arr1, arr2, axis = 0) print("Appended arr3 with axis 0 :", arr3) arr3 = geek.append(arr1, arr2, axis = 1) print("Appended arr3 with axis 1 :", arr3)