How To Append To Numpy Array

Appending to a numpy array can be a useful skill in data analysis and scientific computing. I have personally found this to be a common operation in my work with numpy arrays, and it’s an important technique to master. In this article, I’ll cover the various methods for appending to numpy arrays and provide examples to illustrate the process.

Using np.append()

One of the simplest ways to append to a numpy array is by using the np.append() function. This function takes the array, value, and axis as arguments, and returns a new array with the value appended along the specified axis. Let’s take a look at an example:


import numpy as np

# Original array
arr = np.array([1, 2, 3])

# Appending a value
new_arr = np.append(arr, 4)
print(new_arr) # Output: [1 2 3 4]

Using np.concatenate()

Another way to append arrays is by using the np.concatenate() function. This function concatenates arrays along a specified axis. Here’s an example to demonstrate how it works:


# Original arrays
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# Appending the second array to the first
new_arr = np.concatenate((arr1, arr2))
print(new_arr) # Output: [1 2 3 4 5 6]

Appending along a Specific Axis

When working with multi-dimensional arrays, it’s important to specify the axis along which the append operation should take place. For example, in a 2D array, appending along axis 0 adds rows, while appending along axis 1 adds columns. Here’s how you can achieve this:


# Original 2D array
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Appending a row
new_row = np.array([7, 8, 9])
new_arr = np.append(arr_2d, [new_row], axis=0)
print(new_arr)

# Appending a column
new_col = np.array([[10], [11]])
new_arr = np.append(arr_2d, new_col, axis=1)
print(new_arr)

Conclusion

Appending to numpy arrays is a fundamental operation with multiple approaches to achieve the desired result. By utilizing methods like np.append() and np.concatenate(), it becomes possible to expand the dimensions and content of numpy arrays. Mastering these techniques is invaluable for anyone working with numerical data in Python.