Table of Contents

Python NumPy `delete()`

function is used to delete the elements based on index position. And this function returns a new array with the deletion of sub-arrays along with the specified axis. For a one-dimensional array, this function returns those entries not returned by arr[obj].

In this article, I will explain how to use NumPy delete() function to return a new array with the specified subarray deleted from the input array. If the axis parameter is not used then the input array is flattened.

## 1. Quick Examples of Python NumPy delete() Function

If you are in a hurry, below are some quick examples of how to use Python NumPy `delete()`

function.

```
# Below are the quick examples
# Example 1: Create 1-D array using arange()
arr=np.arange(10)
# Using delete() to delete the index=1
arr1=np.delete(arr,1)
# Example 2: Create an 2-D array using arange() & reshape()
arr=np.arange(12).reshape(3,4)
# Using delete() to delete the obj=1, axis=0
arr1=np.delete(arr, 1 , axis = 0)
# Example 3: Using delete() to delete the obj=2,axis=1
arr1=np.delete(arr, 2 , axis = 1)
# Example 4: Using delete() to delete the index=1
arr1=np.delete(arr, 0,axis = None )
# Example 5: Delete multiple rows
arr1=np.delete(arr,[0,1,2],axis=0)
# Example 6: Delete multiple columns
arr1=np.delete(arr,[0,1,2],axis=1)
# Example 7: Delete multiple columns using slice operation
arr1 = np.delete(arr, slice(2), 1)
# Example 8: Delete multiple rows using numpy.s_[]
arr1 = np.delete(arr, np.s_[:2],axis= 0)
```

## 2. Syntax of NumPy delete()

Following is the syntax of the numpy.delete() function.

```
# Syntax of numpy.delete()
numpy.delete(arr, obj, axis=None)
```

### 2.1 Parameters of delete()

`arr`

Â : It is an input array from where elements are to be deleted.`obj`

Â : Index position or list of index positions of items to be deleted from the input array`axis`

: Axis along which we want to delete. If it is`'1'`

then delete columns, or`'0'`

then delete rows. If the axis is`None`

then return the flattened array.

### 2.2 Return value of delete()

Returns a new array with the deletion of sub-arrays along with the specified axis. If the axis is `None`

then return the flattened array.

## 3. Usage of NumPy delete() Function

Using NumPy `delete()`

function we can delete elements from the NumPy array and delete specified rows and columns from the 2-D array along with the specified axis. It returns a new array with sub-arrays along an axis deleted. For a 1D array, it just deletes the object which we want to delete.

**Delete Elements from 1 – D Array**

To delete elements from 1-D array based on index position using `numpy.delete()`

function. First we have to initialize an array using `numpy.arange()`

. Then apply numpy.delete() function by passing index position as a object.

```
import numpy as np
# Create 1-D array using arange()
arr=np.arange(10)
print(arr)
# Output :
# [0 1 2 3 4 5 6 7 8 9]
# Using delete() to delete the index=1
arr1=np.delete(arr,1)
print(arr1)
# Output :
# [0 2 3 4 5 6 7 8 9]
# Using list of values
arr1=np.delete(arr,[4,1])
print(arr1)
# Output
# [ 0 2 3 5 6 7 8 9 10 11]
```

From the above, the delete() function returned an array with the deleted element.

## 4. Delete Row From 2 – D Array along Axis = 0

Using `numpy.delete()`

function, you can delete any row and column from the 2- DÂ NumPy array along with the specified axis, for that we have to initialize the 2-D NumPy array using `numpy.arange()`

and get the reshape using numpy.reshape().

For example, to delete the second row, useÂ `obj=1, axis=0`

as arguments to numpy.delete() function. The originalÂ arrayÂ remains unchanged, and a new copy ofÂ the NumPy arrayÂ is returned.

```
# Create an 2-D array using arange() & reshape()
arr=np.arange(12).reshape(3,4)
print(arr)
# Output:
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
# Using delete() to delete the 2nd row
arr1=np.delete(arr, 1 , axis = 0)
print(arr1)
# Output :
# [[ 0 1 2 3]
# [ 8 9 10 11]]
# Using delete() to delete the 3rd row
arr1=np.delete(arr, 2 , axis = 0)
print(arr1)
# Output :
# [[0 1 2 3]
# [4 5 6 7]]
```

## 5. Delete Column From 2-D Arrays along Axis = 1

We can delete an entire column from the 2-D array using `numpy.delete()`

function.

For example, to delete the third column, useÂ `obj=2, axis=`

1 argument to numpy.delete() function. The originalÂ arrayÂ remains unchanged, and a new copy ofÂ the NumPy arrayÂ is returned.

```
# Using delete() to delete 2nd column
arr1=np.delete(arr, 2 , axis = 1)
print(arr1)
# Output :
# [[ 0 1 3]
# [ 4 5 7]
# [ 8 9 11]]
# Using delete() to delete 1st column
arr1=np.delete(arr, 0 , axis = 1)
print(arr1)
# Output :
# [[ 1 2 3]
# [ 5 6 7]
# [ 9 10 11]]
```

## 6. Delete Elements From 2 – D Arrays along Axis = None

We can get the flattened array from the 2-D array using numpy.divide() along with default axis = None. For example, we want to remove the ‘0’ based index as an object along with the default axis using numpy.divide().

```
# Using delete() to delete the index=1
arr1=np.delete(arr, 0,axis = None )
print(arr1)
# output :
# [ 1 2 3 4 5 6 7 8 9 10 11]
```

## 7. Delete Multiple Rows and Columns

Multiple rows and columns can be removed at once by specifying the list or a slice in the second parameter obj. We can delete multiple rows and columns at once using the following ways.

`Using list`

`By using slicing`

`numpy.s_[] Function`

### 7.1 Using List to Delete Multiple Rows & Columns

Using the list of values as an object parameter of `numpy.divide()`

function we can delete Multiple columns or multiple rows at a time along with a specified axis. If you use the default axis it will give a flattened array.

```
# Delete multiple rows
arr1=np.delete(arr,[0,1,2],axis=0)
print(arr1)
# [[ 8 9 10 11]]
# Delete multiple columns
arr1=np.delete(arr,[0,1,2],axis=1)
print(arr1)
# [[ 3]
# [ 7]
# [11]]
# Use numpy.delete() along axis = None
arr1 = np.delete(arr, [1, 2], None)
print(arr1)
# [ 0 3 4 5 6 7 8 9 10 11]
```

### 7.2 Use Slicing Operation to Delete Multiple Rows & Columns

It is also possible to specify the multiple rows and columns by using the slice specifying a range with `[start: stop: step]`

. Create a slice object with a slice() and specify it as a second parameter obj.

It is equivalent to `[: stop]`

if there is a single argument, `[start: stop]`

if there are two arguments, and `[start: stop: step]`

if there are three arguments. If you want to omit, specify None explicitly.

```
# Delete multiple columns using slice operation
arr1 = np.delete(arr, slice(2), 1)
print(arr1)
# Output
# [[ 2 3]
# [ 6 7]
# [10 11]]
```

### 7.3. Use numpy.s_[] Function

We can also delete multiple columns and multiple rows along with specified axis using `numpy.s_[]`

.

Letâ€™s remove the first and second columns along with `axis = 0`

using `np.s_[]`

function, this function you can write in a form `[start:stop:step]`

. Remember array index starts from 0.

```
# Delete multiple rows using numpy.s_[]
arr1 = np.delete(arr, np.s_[:2],axis= 0)
print(arr1)
# Output
# [[ 8 9 10 11]]
```

## 8. Conclusion

In this article, I have explained how to use `numpy.delete()`

function that returns a new array with the specified subarray deleted from the input array with examples.

Happy Learning!!

### You May Also Like

- How to convert NumPy array to list
- How to Slice NumPy Array?
- Python NumPy Array Reshape
- Get NumPy Array Length
- How to create NumPy array in different ways