一、numpy.delete概述
numpy.delete函數是numpy庫中的一個重要函數,它可用於數組的切片操作,並且能夠在不改變原數組的形狀的情況下,刪除指定的子數組。
在使用delete函數的時候,需要注意序號的表示方式,序號從0開始計數。
二、刪除數組中的一行或一列
在numpy中,可以通過指定axis參數,來選擇要刪除的行或列。
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
# 刪除第一行
np.delete(arr, 0, axis=0)
# 輸出:array([[4, 5, 6],[7, 8, 9]])
# 刪除第二列
np.delete(arr, 1, axis=1)
# 輸出:array([[1, 3],[4, 6],[7, 9]])
三、刪除數組中的多行或多列
當要刪除多行或多列時,可以將需要刪除的行或列的序號構成列表傳入delete函數。
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
# 刪除第1行和第2行
np.delete(arr, [0,1], axis=0)
# 輸出:array([[7, 8, 9]])
# 刪除第1列和第3列
np.delete(arr, [0,2], axis=1)
# 輸出:array([[2],[5],[8]])
四、刪除數組中滿足條件的元素
在使用numpy.delete函數時,還可以通過傳入條件數組,來選擇要刪除的元素。
import numpy as np
arr = np.array([1,2,3,4,5])
# 刪除元素值為3的元素
np.delete(arr, np.where(arr==3))
# 輸出:array([1, 2, 4, 5])
五、避免原數組被修改
當使用numpy.delete函數時,原數組可能會被修改。這時,可以將copy參數設為True,來避免原數組被修改。
import numpy as np
arr = np.array([[1,2,3],[4,5,6],[7,8,9]])
# 刪除第2行時,原數組不受影響
np.delete(arr, 1, axis=0, copy=True)
# 輸出:array([[1, 2, 3],[7, 8, 9]])
六、應用場景
numpy.delete函數在矩陣運算中,常常用於刪除無用的行或列,從而幫助運算更加高效。
同時,它也適用於實際任務中的數據預處理,可以使用delete函數,刪除數據集中的一些無用信息,提高模型訓練的效率。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/246416.html