📅  最后修改于: 2023-12-03 15:08:13.334000             🧑  作者: Mango
在处理NumPy数组时,有时需要交换数组的列。本文介绍如何用NumPy实现两列之间的交换。
首先,我们来看一下如何创建一个NumPy数组及其基本操作。
import numpy as np
# 创建一个3x4的NumPy数组
arr = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12]])
# 获取数组的形状
print(arr.shape) # 输出 (3, 4)
# 获取数组的行数和列数
num_rows, num_cols = arr.shape
print(num_rows, num_cols) # 输出 3 4
# 访问数组的第一行第二列的值
print(arr[0, 1]) # 输出 2
# 访问数组的第二列
print(arr[:, 1]) # 输出 [ 2 6 10]
接下来,我们考虑如何交换NumPy数组中的两列。我们可以使用Python的切片操作来交换数组的两列。
# 交换数组的第一列和第二列
arr[:, [0, 1]] = arr[:, [1, 0]]
print(arr)
输出结果为:
[[ 2 1 3 4]
[ 6 5 7 8]
[10 9 11 12]]
代码解释:
arr[:, [0, 1]]
选择数组的第一列和第二列arr[:, [1, 0]]
将第一列和第二列互换arr[:, [0, 1]] = arr[:, [1, 0]]
将交换后的列赋值给原始数组的第一列和第二列