如何交換給定 NumPy 陣列的列?
在處理 NumPy 陣列時,可能會有想要交換兩列位置的情況。在本文中,我們將深入探討四種不同的交換給定 NumPy 陣列中列的技術:利用高階索引、使用 NumPy 索引、利用 np.swapaxes 函式以及利用直接賦值。我們將透過示例來理解這些方法。
方法 1:利用高階索引
利用高階索引的潛力,您可以透過精心策劃的列索引程式來重塑 NumPy 陣列中元素的操作過程。
示例
在以下示例中,我們生成一個 NumPy 陣列並使用高階索引來交換第 1 列和第 2 列。
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) array[:, [1, 2]] = array[:, [2, 1]] print(array)
輸出
[[1 3 2] [4 6 5] [7 9 8]]
方法 2:使用 NumPy 索引
NumPy 索引允許您透過指定列的索引來建立一個具有所需列順序的新陣列。
示例
在下面的示例中,我們生成一個 NumPy 陣列並使用 NumPy 索引的功能來交換第 1 列和第 2 列。
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) array = array[:, [0, 2, 1]] print(array)
輸出
[[1 3 2] [4 6 5] [7 9 8]]
方法 3:利用 np.swapaxes 函式
np.swapaxes 函式可以用來交換 NumPy 陣列的兩個軸。要交換列,您可以先轉置陣列,交換行,然後將其轉置回來。
示例
在下面的示例中,我們生成一個 NumPy 陣列並使用 np.swapaxes 函式來交換第 1 列和第 2 列。
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) array = array.T array[[1, 2]] = array[[2, 1]] array = array.T print(array)
輸出
[[1 3 2] [4 6 5] [7 9 8]]
方法 4:利用直接賦值
直接賦值可用於透過建立其中一列的臨時副本來交換 NumPy 陣列中的列。
示例
在以下示例中,我們生成一個 NumPy 陣列並使用直接賦值來交換第 1 列和第 2 列。
import numpy as np array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) temp = array[:, 1].copy() array[:, 1] = array[:, 2] array[:, 2] = temp print(array)
輸出
[[1 3 2] [4 6 5] [7 9 8]]
結論
在本文中,我們探討了在 NumPy 陣列中交換列的不同方法。我們討論了高階索引、NumPy 索引、np.swapaxes 函式和直接賦值。每種方法都為您提供了一種簡單且高效的交換列的方法,以滿足您特定需求的特殊性。透過學習這些技術的語法和閱讀示例,您可以獲得選擇最適合您的資料操作任務的方法的能力。
總之,在 NumPy 陣列中交換列的能力是資料操作和分析領域中一項寶貴的技能。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP