无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

(numpy 转置) 详解NumPy 数组的转置和轴变换方法 NumPy转置和轴变换方法 全网首发(图文详解1)

前沿技术 Micheal 5个月前 (05-31) 62次浏览 已收录 扫描二维码

(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)

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝