一、delete函數簡介
NumPy是Python中常用的科學計算庫,它提供了許多方便的函數和工具來處理數值數據。其中,delete函數是一個用於刪除數組中某些元素的函數。其函數原型為:
numpy.delete(arr, obj, axis=None)
其中,arr表示輸入的數組,obj指明需要被刪除的元素或子數組的位置,axis用於指明需要刪除的軸。刪除過後,將返回一個新的數組,原數組並不會發生改變。
二、刪除某一行或列
其中最常用的場景是刪除二維數組中的某一行或某一列。對於二維數組,我們通常需要指定刪除的軸,例如在二維數組arr中,刪除第3行可以這樣實現:
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
new_arr = np.delete(arr, 2, axis=0)
print(new_arr)
運行結果為:
[[1 2 3]
[4 5 6]]
其中,np.delete(arr, 2, axis=0)表示在arr數組中刪除第3行,axis=0表示刪除的是行。
同樣的,刪除第3列可以這樣實現:
new_arr = np.delete(arr, 2, axis=1)
print(new_arr)
運行結果為:
[[1 2]
[4 5]
[7 8]]
注意,此時的axis=1表示刪除的是列。
三、刪除多行或多列
當需要刪除多行或多列時,可以直接在obj中輸入需要刪除的行數或列數:
new_arr = np.delete(arr, [1,2], axis=0)
print(new_arr)
運行結果為:
[[1 2 3]]
其中,np.delete(arr, [1,2], axis=0)表示在arr數組中刪除第2行和第3行。
同樣的,刪除第2列和第3列可以這樣實現:
new_arr = np.delete(arr, [1,2], axis=1)
print(new_arr)
運行結果為:
[[1]
[4]
[7]]
四、刪除一維數組的某些元素
除了二維數組,如果需要刪除一維數組中的某些元素,也可以使用delete函數:
arr = np.array([1,2,3,4,5])
new_arr = np.delete(arr, [2,4])
print(new_arr)
運行結果為:
[1 2 4]
其中,np.delete(arr, [2,4])表示在arr數組中刪除第3個和第5個元素。
五、刪除二維數組的某些子數組
除了刪除行或列,delete函數還可以刪除二維數組中的某些子數組。例如,在數組arr中,刪除第2行、第3行和第4列可以這樣實現:
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
new_arr = np.delete(arr, np.s_[1:3], axis=0)
new_arr = np.delete(new_arr, [1], axis=1)
print(new_arr)
運行結果為:
[[1 3]
[7 9]]
其中,np.delete(arr, np.s_[1:3], axis=0)表示在arr數組中刪除第2行和第3行,np.s_[1:3]表示選中第2行和第3行。接著,我們需要再刪除第4列,這可以通過np.delete(new_arr, [1], axis=1)來實現,其中[1]表示需要刪除的列數。
六、總結
通過本文的介紹,我們了解到了NumPy中delete函數的基本用法和常見場景。delete函數可以幫助我們快速高效地刪除數組中的某些元素或子數組,方便我們進行進一步的數據處理和分析。
原創文章,作者:LVARF,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/372654.html