- NumPy 教程
- NumPy - 首页
- NumPy - 简介
- NumPy - 环境
- NumPy 数组
- NumPy - Ndarray 对象
- NumPy - 数据类型
- NumPy 创建和操作数组
- NumPy - 数组创建例程
- NumPy - 数组操作
- NumPy - 从现有数据创建数组
- NumPy - 从数值范围创建数组
- NumPy - 迭代数组
- NumPy - 重塑数组
- NumPy - 连接数组
- NumPy - 堆叠数组
- NumPy - 分割数组
- NumPy - 展平数组
- NumPy - 数组转置
- NumPy 索引和切片
- NumPy - 索引和切片
- NumPy - 高级索引
- NumPy 数组属性和操作
- NumPy - 数组属性
- NumPy - 数组形状
- NumPy - 数组大小
- NumPy - 数组步长
- NumPy - 数组元素大小
- NumPy - 广播
- NumPy - 算术运算
- NumPy - 数组加法
- NumPy - 数组减法
- NumPy - 数组乘法
- NumPy - 数组除法
- NumPy 高级数组操作
- NumPy - 交换数组的轴
- NumPy - 字节交换
- NumPy - 复制和视图
- NumPy - 元素级数组比较
- NumPy - 过滤数组
- NumPy - 连接数组
- NumPy - 排序、搜索和计数函数
- NumPy - 搜索数组
- NumPy - 数组的并集
- NumPy - 查找唯一行
- NumPy - 创建日期时间数组
- NumPy - 二元运算符
- NumPy - 字符串函数
- NumPy - 数学函数
- NumPy - 统计函数
- NumPy - 矩阵库
- NumPy - 线性代数
- NumPy - Matplotlib
- NumPy - 使用 Matplotlib 绘制直方图
- NumPy - NumPy 的 I/O 操作
- NumPy 排序和高级操作
- NumPy - 排序数组
- NumPy - 沿轴排序
- NumPy - 使用花式索引排序
- NumPy - 结构化数组
- NumPy - 创建结构化数组
- NumPy - 操作结构化数组
- NumPy - 字段访问
- NumPy - 记录数组
- Numpy - 加载数组
- Numpy - 保存数组
- NumPy - 将值追加到数组
- NumPy - 交换数组的列
- NumPy - 向数组插入轴
- NumPy 处理缺失数据
- NumPy - 处理缺失数据
- NumPy - 识别缺失值
- NumPy - 删除缺失数据
- NumPy - 填充缺失数据
- NumPy 性能优化
- NumPy - 使用数组进行性能优化
- NumPy - 使用数组进行矢量化
- NumPy - 数组的内存布局
- Numpy 线性代数
- NumPy - 线性代数
- NumPy - 矩阵库
- NumPy - 矩阵加法
- NumPy - 矩阵减法
- NumPy - 矩阵乘法
- NumPy - 元素级矩阵运算
- NumPy - 点积
- NumPy - 矩阵求逆
- NumPy - 行列式计算
- NumPy - 特征值
- NumPy - 特征向量
- NumPy - 奇异值分解
- NumPy - 求解线性方程组
- NumPy - 矩阵范数
- NumPy 元素级矩阵运算
- NumPy - 求和
- NumPy - 求平均值
- NumPy - 求中位数
- NumPy - 求最小值
- NumPy - 求最大值
- NumPy 集合运算
- NumPy - 唯一元素
- NumPy - 交集
- NumPy - 并集
- NumPy - 差集
- NumPy 有用资源
- NumPy 编译器
- NumPy - 快速指南
- NumPy - 有用资源
- NumPy - 讨论
NumPy - 数组转置
转置 NumPy 数组
在 NumPy 中转置数组意味着重新排列数组的维度以沿不同的轴访问其数据。
对于一个**二维数组**(矩阵),转置意味着沿其对角线翻转数组。这会交换行和列。如果你有一个形状为"(m, n)"的数组"A",则转置"A.T"将具有形状"(n, m)",其中 A 中位置"(i, j)"处的每个元素都将在 A.T 中的位置"(j, i)"处。
对于具有两个以上维度的数组,转置涉及根据指定的顺序重新排序轴。
使用 transpose() 函数转置数组
NumPy 中的 transpose() 函数用于重新排列数组的维度。它返回一个数组的视图,其轴按指定的顺序重新排列。
如果未指定顺序,则返回数组的形状与原始数组的形状相同,但维度以相反的顺序排列。以下是语法 -
numpy.transpose(a, axes=None)
其中,
a -** 它是要转置的类数组对象。
axes (可选) -** 它指定轴的新顺序。如果未提供,则默认为反转数组的维度。
示例:转置二维数组
在以下示例中,我们使用 numpy.transpose() 函数和默认参数转置二维数组"arr" -
import numpy as np # 2D array arr = np.array([[1, 2, 3], [4, 5, 6]]) # Transposing the array transposed_arr = np.transpose(arr) print("Original Array:") print(arr) print("\nTransposed Array:") print(transposed_arr)
这会交换数组的行和列,如下面的输出所示 -
Original Array: [[1 2 3] [4 5 6]] Transposed Array: [[1 4] [2 5] [3 6]]
示例:转置三维数组
在这里,我们使用 numpy.transpose() 函数和默认参数转置三维数组"arr_3d" -
import numpy as np # 3D array arr_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) # Transposing a 3D array transposed_arr_3d = np.transpose(arr_3d) print("Original 3D Array:") print(arr_3d) print("\nTransposed 3D Array:") print(transposed_arr_3d)
这会更改维度的顺序,有效地重新排列数组的深度和高度,如下面的输出所示 -
Original 3D Array: [[[1 2] [3 4]] [[5 6] [7 8]]] Transposed 3D Array: [[[1 5] [3 7]] [[2 6] [4 8]]]
示例:使用指定的轴转置
在下面的示例中,我们重新排列三维数组的轴,使得第一维(轴 0)保持不变,而轴"1"和"2"使用 numpy.transpose() 函数交换 -
import numpy as np # 3D array arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) # Transposing transposed_arr = np.transpose(arr, axes=(0, 2, 1)) print("Original 3D Array:") print(arr) print("\nTransposed 3D Array:",transposed_arr)
以下是获得的输出 -
Original 3D Array: [[[1 2] [3 4]] [[5 6] [7 8]]] Transposed 3D Array: [[[1 3] [2 4]] [[5 7] [6 8]]]
使用 "ndarray.T" 对象转置数组
NumPy 数组有一个方便的属性".T"**,它提供了一种快速转置数组的方法,无需显式调用transpose()** 函数。换句话说,它在没有任何额外参数的情况下反转多维数组的轴。
示例
在此示例中,我们使用 NumPy 中的.T** 属性转置数组"arr" -
import numpy as np # Creating a 2D array arr = np.array([[1, 2, 3], [4, 5, 6]]) # Transpose the array transposed_arr = arr.T print("Original Array:") print(arr) print("\nTransposed Array using .T:") print(transposed_arr)
产生的结果如下 -
Original Array: [[1 2 3] [4 5 6]] Transposed Array using .T: [[1 4] [2 5] [3 6]]
广告