numpy的rollaxis与swapaxes函数

numpy.rollaxis 函数向后滚动特定的轴到一个特定位置,格式如下:

numpy.rollaxis(arr, axis, start)

参数说明:

  • arr:数组
  • axis:要向后滚动的轴,其它轴的相对位置不会改变
  • start:默认为零,表示完整的滚动。会滚动到特定位置。
import numpy as np

# 创建了三维的 ndarray
a = np.arange(27).reshape((3, 3, 3))

print('原数组:')
print(a)
print('\n')

print('输出结果:')
# 将轴 2 滚动到轴 1
print(np.rollaxis(a, 2, 1))

np.rollaxis(a, 2, 1) 轴2 插入 到 轴1 前面。

numpy.swapaxes 函数用于交换数组的两个轴,格式如下:

numpy.swapaxes(arr, axis1, axis2)
  • arr:输入的数组
  • axis1:对应第一个轴的整数
  • axis2:对应第二个轴的整数
import numpy as np

# 创建了三维的 ndarray
a = np.arange(27).reshape((3, 3, 3))

print('原数组:')
print(a)
print('\n')

# 交换轴 2 到轴 0
print('输出结果:')
print(np.swapaxes(a, 2, 0))

np.swapaxes(a, 2, 0)  轴2 和 轴0 进行交互

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
NumPy和SciPy都是Python中非常流行的科学计算库,二者在很多方面都有重叠的功能,但它们的设计目标不同。NumPy主要用于数组操作,而SciPy则提供了更广泛的科学计算功能,包括线性代数、数值积分、优化、信号处理、图像处理、稀疏矩阵等等。下面是NumPy和SciPy计算函数的对比: 1. 数组操作 NumPy的核心是ndarray( n-dimensional array),它提供了大量的数组操作函数,包括数组的创建、索引、切片、变形、合并、分割、排序、搜索等等。而SciPy则扩展了NumPy的数组操作,提供了更多的高级数组操作函数,如广播、数组迭代、矩阵计算等等。 2. 线性代数 NumPy提供了线性代数模块linalg,包含了矩阵分解、求逆、行列式、特征值与特征向量、矩阵求解等基本操作。而SciPy则在此基础上,提供了更多的高级线性代数函数,如奇异值分解(SVD)、QR分解、LU分解、乔里斯基分解、广义逆等等。 3. 数值积分 SciPy提供了数值积分模块integrate,包含了数值积分、常微分方程求解、符号积分等等。而NumPy则没有这些功能。 4. 优化 SciPy提供了优化模块optimize,包含了各种优化算法,如线性规划、非线性规划、最小二乘、曲线拟合等等。而NumPy则没有这些功能。 5. 信号处理和图像处理 SciPy提供了信号处理模块signal和图像处理模块ndimage,包含了各种信号处理和图像处理函数。而NumPy则没有这些功能。 6. 稀疏矩阵 SciPy提供了稀疏矩阵模块sparse,包含了各种稀疏矩阵的创建、操作和计算函数。而NumPy则没有这些功能。 总的来说,NumPy主要用于数组操作,而SciPy则提供了更广泛的科学计算功能,包括线性代数、数值积分、优化、信号处理、图像处理、稀疏矩阵等等。在实际使用中,我们可以根据需要选择使用NumPy或者SciPy,或者同时使用二者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值