(numpy 转置) 详解NumPy 数组的转置和轴变换方法
NumPy(Numerical Python)提供了多种转置和轴变换方法,让您能够重新排列多维数组的轴。下面是一些常用方法和详细的示例代码。
NumPy数组转置方法
转置(Transpose)是矩阵操作中的一个概念,主要是将矩阵的行转换为列,列转换为行。
使用.transpose()
方法
在NumPy中,您可以通过.transpose()
方法来转置数组。您还可以指定转置操作中各轴的顺序。
import numpy as np
# 创建一个3x2的矩阵
array = np.array([[1, 2], [3, 4], [5, 6]])
print("Original array:")
print(array)
# 使用transpose方法转置矩阵
transposed = array.transpose()
print("Transposed array:")
print(transposed)
# 可以通过传递轴的顺序来重排数组的轴
# 例如,创建一个三维数组并改变轴的顺序
array_3d = np.arange(24).reshape(2, 3, 4)
transposed_3d = array_3d.transpose(1, 0, 2)
print("3D array transposed:")
print(transposed_3d)
使用.T
属性
NumPy数组对象有一个.T
属性,它返回数组的转置。
import numpy as np
# 创建一个3x2的矩阵
array = np.array([[1, 2], [3, 4], [5, 6]])
print("Original array:")
print(array)
# 使用.T属性转置矩阵
transposed = array.T
print("Transposed array:")
print(transposed)
轴变换方法
轴变换通常会用在更高维度的数组中。
使用np.swapaxes()
方法
np.swapaxes(arr, axis1, axis2)
方法用来交换两个轴。
import numpy as np
# 创建一个三维数组
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("Original array:")
print(array_3d)
# 交换轴,这里将0轴和1轴交换
swapped = np.swapaxes(array_3d, 0, 1)
print("Swapped axes array:")
print(swapped)
使用np.moveaxis()
方法
np.moveaxis(arr, source, destination)
方法用来将一个轴移到新的位置。
import numpy as np
# 创建一个三维数组
array_3d = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
print("Original array:")
print(array_3d)
# 移动轴,这里将0轴移到后面
moved = np.moveaxis(array_3d, 0, -1)
print("Axis moved array:")
print(moved)
通过上述方法,您能够控制NumPy数组的形状和维度排列,这在科学计算和数据分析中非常有用。注意,上述每个方法执行后都不会改变原始数组,而是创建了一个新的数组变量。当处理大型数组时,需要注意内存管理。
(svr) 详解 Scikit-learn 的 svm.SVR函数:支持向量机回归器 SVM 回归 全网首发(图文详解1)
(setattr) Python 设置(setattr)、获取(getattr)、检查(hasattr)对象属性函数详解! 对象属性处理:setattrgetattr和hasattr 全网首发(图文详解1)