'Append an array to another array

I have a problem with np.append(ar,values, axis=None)

Take a look at following codes:

import numpy as np

array1 = np.array([])
array2 = np.array([1,2])
array3 = np.array([3,4])
array4 = np.array([5,6])

array1 = np.append(array1, array2)
array1 = np.append(array1, array3)
array1 = np.append(array1, array4)

print(array1) # [1. 2. 3. 4. 5. 6.]

So this is not what i want i want add exactly the array to the array1 and the array1 should be

[[1. 2.]
 [3. 4.]
 [5. 6.]]

How can i do that?



Solution 1:[1]

You need to stack the arrays.

array1 = np.stack([array2, array3, array4])

should do it.

Solution 2:[2]

Try this:

import numpy as np

array1 = np.array([])
array2 = np.array([1,2])
array3 = np.array([3,4])
array4 = np.array([5,6])
a = np.append(array1, array2)
b = np.append(array1, array3)
c = np.append(array1, array4)
print(np.vstack((a, b, c)))

output:

[[1. 2.]
 [3. 4.]
 [5. 6.]]

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2