numpy中高维数组变为向量与numpy中增加和删除维度实现方法

在NumPy中,将高维数组变为向量通常指的是将多维数组(如二维或更高维度的数组)转换为一维数组(向量)。这一过程可以通过多种方法实现,具体如下:

  使用`numpy.reshape()`函数:这个函数可以将一个多维数组重新塑形为指定的新形状。通过传递参数`-1`作为目标形状的一部分,可以自动计算该维度的大小,从而实现将高维数组转换为一维数组。
  使用`numpy.ravel()`函数:这个函数返回一个将多维数组展平为一维数组的新视图。它不返回副本,因此对返回的数组进行修改会影响原始数组。如果需要副本,可以使用`numpy.copy()`来复制数组。

此外,对于二维数组而言,还可以使用数组的`T`属性来获取其转置,尽管这通常用于二维数组的行列互换,但在某些情况下也可以用于将二维数组视为一维数组。

 代码举例如下👇

23864d9606f6af62a991e17daf19084d.jpeg

输出结果:

3bc940532bcffe108e719cb88944839e.jpeg

增加和删除数组的维度可以通过几种不同的方法实现:

### 增加维度

1. 使用`numpy.newaxis`:
  通过在索引中使用`numpy.newaxis`,可以在指定的位置增加一个新的轴。这通常用于将一维数组转换为二维数组。

2. 使用`numpy.reshape()`:
   `reshape()`函数可以改变数组的形状,包括增加新的维度。如果新形状的总元素数量与原数组相同,则可以使用这个函数来增加维度。

3. 使用`numpy.expand_dims()`:
  `expand_dims()`函数可以在指定位置插入新的轴,从而增加维度。

4.使用`numpy.atleast_2d()`或`numpy.atleast_3d()`等函数:
  这些函数至少将数组转换为指定的最小维数(2D或3D)。

### 删除维度

1. 使用`numpy.squeeze()`:
- `squeeze()`函数可以移除数组中所有长度为1的维度,从而减少维度的数量。

2.使用`numpy.reshape()`或`numpy.array.reshape()`:
- 通过将形状参数设置为一个元组,其中某些维度为`-1`,可以将数组重塑到更少的维度。

3.使用`numpy.ndarray.flatten()`或`numpy.ndarray.ravel()`:
   这两个方法都可以将多维数组展平成一维数组,但`flatten()`返回的是副本,而`ravel()`返回的是视图。

4.使用`numpy.array.T`或`numpy.array.transpose()`:
- 对于二维数组,转置操作实际上并不改变数组的维度,但它可以交换两个维度的位置,这在某些情况下可以被视为减少维度的一种形式。

代码举例:

31d22918f49e16a3dd7ba64ab76bd6e1.jpeg

4bc23df959460801093dcbe4c5a26cc0.jpeg

       在实际应用中,选择哪种方法取决于具体的任务需求和性能考虑。

       好了今天就先到这里啦!(往期内容在这里👉)今天来聊聊Numpy!   今天来聊聊Numpy (二)

加油💪哦熟练掌握它,让你做事事半功一倍二倍。

                 06491c60e3c8747ec4a26034b8645a4e.gif

以上的相关应用可以通过小蜜蜂AI的GPT问答获取更多的示例。网址:https://zglg.work​。

(文章对你有用的话。记得点赞➕在看哦😯😯😯😯分享知识也是一种美德哦😯)

  如有学习上的困惑或问题欢迎评论区留言告诉我们,让我们一起解决共同进步:

  • 18
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值