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
🌐
Delft Stack
delftstack.com › "delft stack" › "howto" › "python how-to's" › "how to append 2d array in python"
How to Append 2D Array in Python | Delft Stack
February 22, 2025 - If you encounter indexing errors while modifying NumPy arrays, refer to our guide on fixing ‘Too Many Indices for Array’ errors to troubleshoot common mistakes. NumPy’s hstack() and vstack() functions are designed for appending columns and rows efficiently.
🌐
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
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
do you guys know how to add append an array in a 2d array?
my_list = [[1, 2, 3, 4, 5]] new_list = my_list * 5 print(new_list) Prints: [[1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]] But be aware that this only creates multiple labels to the same [1, 2, 3, 4, 5] list object. Mutating any one of the inner lists mutates all of the inner lists as there is only one inner list object: new_list[0][0] += 40 print(new_list) print(my_list) # The original list object Prints: [[41, 2, 3, 4, 5], [41, 2, 3, 4, 5], [41, 2, 3, 4, 5], [41, 2, 3, 4, 5], [41, 2, 3, 4, 5]] [[41, 2, 3, 4, 5]] but you can reassign different objects within new_list: new_list[1] = [7,8,9] print(new_list) Prints: [[41, 2, 3, 4, 5], [7, 8, 9], [41, 2, 3, 4, 5], [41, 2, 3, 4, 5], [41, 2, 3, 4, 5]] If you actually want deep copies of the original inner list, you can use a list comprehension: my_list = [[1, 2, 3, 4, 5]] new_list = [my_list[0][:] for _ in range(5)] new_list[0][0] += 40 print(new_list) Prints: [[41, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5]] More on reddit.com
🌐 r/learnpython
5
5
February 19, 2024
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
A copy of arr with values appended to axis. Note that append does not occur in-place: a new array is allocated and filled.
🌐
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 - In Numpy, the ‘axis’ parameter refers to the dimension of the array. For a 1D array, there’s only one axis (axis=0). For a 2D array, there are two axes: axis=0 (rows) and axis=1 (columns). When you use the ‘numpy.append()’ function, the ‘axis’ parameter defines along which axis the arrays will be appended.
🌐
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
A copy of arr with values appended to axis. Note that append does not occur in-place: a new array is allocated and filled.
🌐
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.
🌐
Reddit
reddit.com › r/learnpython › do you guys know how to add append an array in a 2d array?
r/learnpython on Reddit: do you guys know how to add append an array in a 2d array?
February 19, 2024 -

say i have array [[1,2,3,4,5]], how can i duplicate it 5 times to [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]] ?

🌐
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.
🌐
DigitalOcean
digitalocean.com › community › tutorials › numpy-append-in-python
numpy.append() in Python | DigitalOcean
Technical tutorials, Q&A, events — This is an inclusive place where developers can find or lend support and discover new ways to contribute to the community.
🌐
NumPy
numpy.org › doc › 2.0 › reference › generated › numpy.append.html
numpy.append — NumPy v2.0 Manual
A copy of arr with values appended to axis. Note that append does not occur in-place: a new array is allocated and filled.
🌐
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)
🌐
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)