一、np.delete函數簡介
np.delete函數是Python中的一個用於數組操作的函數,它可以刪除數組的元素或子數組,並返回一個新數組。該函數支持多種維度操作,比如刪除二維數組的行或列,刪除三維數組的矩陣等等。
下面是一個簡單的實例,刪除一維數組中的第n個元素:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, 2) # 刪除第3個元素,即3
print(new_arr) # 輸出 [1 2 4 5]
二、刪除一維數組的元素
對於一維數組的操作,我們可以通過指定元素的位置或者布爾數組(True表示需要刪除的元素)來刪除元素。
1、通過位置刪除元素
使用np.delete函數時,只需指定數組和需要刪除的位置即可:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, 2) # 刪除第3個元素,即3
print(new_arr) # 輸出 [1 2 4 5]
2、通過布爾數組刪除元素
也可以使用布爾數組表示需要刪除的元素的位置:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
bool_arr = np.array([True, False, True, False, False])
new_arr = np.delete(arr, bool_arr)
print(new_arr) # 輸出 [2 4 5]
三、刪除多維數組的元素
對於多維數組的操作,np.delete函數提供了多種選項,比如刪除行、刪除列、刪除具體元素等。
1、刪除二維數組的行或列
下面是一個刪除二維數組行或列的實例:
import numpy as np
arr = np.array([[1, 2], [3, 4], [5, 6]])
new_arr = np.delete(arr, 1, axis=0) # 刪除第2行
print(new_arr) # 輸出 [[1 2] [5 6]]
new_arr = np.delete(arr, 0, axis=1) # 刪除第1列
print(new_arr) # 輸出 [[2] [4] [6]]
2、刪除三維數組的矩陣
對於三維數組,我們可以刪除矩陣、層或者行列。下面是一個刪除矩陣的實例:
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
new_arr = np.delete(arr, 0, axis=0) # 刪除第1個矩陣
print(new_arr) # 輸出 [[[5 6] [7 8]]]
四、總結
以上就是np.delete函數的詳細解析,該函數可以幫助我們在操作數組時方便地刪除多餘的元素或子數組,從而減少了額外的代碼量。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/248057.html