NumPy delete() 函式



NumPy 的delete()函式用於返回一個新的陣列,其中從輸入陣列中刪除了指定的子陣列。如果未提供axis引數,則在刪除之前會先將輸入陣列展平。

此函式可用於從陣列中刪除元素、行或列。

語法

以下是 NumPy delete() 函式的語法:

Numpy.delete(arr, obj, axis)

引數

以下是 NumPy delete() 函式的引數:

  • arr: 輸入陣列
  • obj: 可以是切片,即整數或整數陣列,指示要從輸入陣列中刪除的子陣列。
  • axis: 要沿其刪除給定子陣列的軸。如果未給出,則輸入陣列 (arr) 將被展平。

示例 1

以下是 NumPy delete() 函式的基本示例,它刪除索引為 5 的元素:

import numpy as np 

# Creating an array with shape (3, 4)
a = np.arange(12).reshape(3, 4)

print('First array:') 
print(a)
print('\n')

# Delete the element at index 5 from the flattened array
print('Array flattened before delete operation as axis not used:') 
print(np.delete(a, 5)) 

輸出

First array:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]


Array flattened before delete operation as axis not used:
[ 0  1  2  3  4  6  7  8  9 10 11]

示例 2

在此示例中,我們使用 delete() 函式從二維陣列中刪除特定列:

import numpy as np

# Create a 3x4 array
a = np.arange(12).reshape(3, 4)

print('Original array:')
print(a)
print('\n')

# Delete the second column (index 1)
result = np.delete(a, 1, axis=1)
print('Array after deleting column 2:')
print(result)

輸出

Original array:
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]


Array after deleting column 2:
[[ 0  2  3]
 [ 4  6  7]
 [ 8 10 11]]

示例 3

我們可以使用切片從陣列中刪除多個元素。在下面的示例中,我們將切片模式作為引數傳遞給 delete() 函式以及輸入陣列:

import numpy as np

# Create a 1D array
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print('Original array:')
print(a)
print('\n')

# Delete every second element
result = np.delete(a, np.s_[::2])
print('Array after deleting every second element:')
print(result)

輸出

Original array:
[ 1  2  3  4  5  6  7  8  9 10]


Array after deleting every second element:
[ 2  4  6  8 10]
numpy_array_manipulation.htm
廣告