np.transpose & np.expand_dims

本文详细介绍了NumPy库中的两个重要操作:transpose和expand_dims。transpose函数用于对高维数组进行转置,改变数组中不同维度的位置,例如将(1,2,3)的数组转置为(2,1,3)。而expand_dims则可以在数组的指定位置添加新的维度,如将(1,2,3)的数组扩展为(1,1,2,3)。这两个函数在处理多维数据时非常有用,是数据预处理和模型构建中的常见操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、numpy.transpose(a, axes=None)

  功能:
    对高维数组进行坐标轴上的变换,即进行转置操作。
  参数:
    a: Numpy输入数组
    axes: 如果指定,它必须是包含 [0,1,…,N-1] 排列的元组或列表,其中 N 是 a 的轴数(可以理解为维度)。返回数组的第 i 个轴将对应于axes[i]输入的编号轴。如果未指定,则默认为range(a.ndim)[::-1],这会反转轴的顺序
  返回:
    dst: 转置后的数组

  
  用线性代数的来表达的话跟下图一样:

在这里插入图片描述
  说得简单点transpose()的功能就是改变数组中不同维度的位置
  举个例子:

import numpy as np

x = np.ones((1,2,3))  #我们先创建一个三维的数组

在这里插入图片描述
我们使用 transpose() 函数交换 x 数组不同维度的位置:

x_temp = np.transpose(x, (1, 0, 2))

在这里插入图片描述
很明显,我们可以看到x数组的第0维和第2维交换位置,原本是(1,2,3)格式的数组变成了(2,1,3)格式。

二、numpy.expand_dims(a, axes=None)

  功能:
    对数组新添加一个维度
  参数:
    a: Numpy输入数组
    axes: 放置新维度(或多个维度)的位置。
  返回:
    dst: 添加新维度后的数组

例子:

x = np.ones((1,2,3)) 
x_temp2 = np.expand_dims(x,0)  #在0维度插入一个新的维度

在这里插入图片描述

x = np.ones((1,2,3)) 
x_temp2 = np.expand_dims(x,axis=(0, 1))  #axis也可能是一个元组

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fire丶Chicken

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值