Python - NumPy 陣列列刪除


在本問題陳述中,我們需要使用 Python 中的 NumPy 陣列執行刪除操作以刪除列。有時我們需要從資料集中刪除一些資料,這時此問題可以幫助解決它。

理解問題

NumPy 庫在資料處理和數值計算方面非常有用。因此,從陣列中刪除列是一項非常常見的任務。在本問題中,我們將使用 NumPy 陣列,刪除一列並在控制檯上顯示剩餘資料。因此,此問題將使用多維陣列。

上述問題的邏輯

為了解決上述給定的從 NumPy 陣列中刪除列的問題。由於 NumPy 陣列本質上是不可變的,因此我們無法直接刪除它們。我們將建立一個新陣列,並在刪除所需列後儲存剩餘的列。因此,我們將使用 NumPy 的不同函式來刪除所需的列。

演算法

  • 步驟 1 - 由於我們在程式碼中使用 NumPy 陣列,因此首先需要將 NumPy 庫匯入為 nmp。

  • 步驟 2 - 然後我們將初始化一個名為 column_delete 的函式,並傳遞 arr 和 column_index 兩個引數。arr 將是輸入的多維陣列,column_index 將是要刪除的列的索引。

  • 步驟 3 - 然後使用 NumPy 庫的 delete 函式並傳遞索引的軸,在本例中我們傳遞 1,因為我們需要刪除或刪除列。

  • 步驟 4 - 初始化 NumPy 陣列為 numpy_array。我們使用 nmp.array 將陣列轉換為 NumPy 陣列。

  • 步驟 5 - 現在我們將呼叫上面建立的函式並傳遞 NumPy 陣列和我們要刪除的列索引。

示例

#Import numpy library as nmp
import numpy as nmp

def column_delete(arr, column_index):
   return nmp.delete(arr, column_index, axis=1)

# Initialize the numpy array
numpy_array = nmp.array([['Cyan', 'Red', 'Black'],
               ['Peach', 'Blue', 'Pink'],
               ['Green', 'White', 'Grey']])
               
# Call the function to delete the second column
new_array = column_delete(numpy_array, 1)
print("Before Deletion: \n", numpy_array)
print("\nAfter Deletion \n",new_array)

輸出

Before Deletion:
[['Cyan' 'Red' 'Black']
 ['Peach' 'Blue' 'Pink']
 ['Green' 'White' 'Grey']]

After Deletion
 [['Cyan' 'Black']
 ['Peach' 'Pink']
 ['Green' 'Grey']]

複雜度

刪除 NumPy 陣列列的 時間複雜度 為 O(m * n)。其中 m 是行數,n 是多維陣列中列數。因為我們從給定的輸入陣列中排除了要刪除的列並建立了一個新陣列。

結論

在本文中,我們成功地實現了使用 NumPy Python 庫的函式和方法從 NumPy 陣列中刪除列的程式碼。

更新於: 2023-10-18

173 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.