在NumPy中,将高维数组变为向量通常指的是将多维数组(如二维或更高维度的数组)转换为一维数组(向量)。这一过程可以通过多种方法实现,具体如下:
使用`numpy.reshape()`函数:这个函数可以将一个多维数组重新塑形为指定的新形状。通过传递参数`-1`作为目标形状的一部分,可以自动计算该维度的大小,从而实现将高维数组转换为一维数组。
使用`numpy.ravel()`函数:这个函数返回一个将多维数组展平为一维数组的新视图。它不返回副本,因此对返回的数组进行修改会影响原始数组。如果需要副本,可以使用`numpy.copy()`来复制数组。
此外,对于二维数组而言,还可以使用数组的`T`属性来获取其转置,尽管这通常用于二维数组的行列互换,但在某些情况下也可以用于将二维数组视为一维数组。
代码举例如下👇
输出结果:
增加和删除数组的维度可以通过几种不同的方法实现:
### 增加维度
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()`:
- 对于二维数组,转置操作实际上并不改变数组的维度,但它可以交换两个维度的位置,这在某些情况下可以被视为减少维度的一种形式。
代码举例:
在实际应用中,选择哪种方法取决于具体的任务需求和性能考虑。
好了今天就先到这里啦!(往期内容在这里👉)今天来聊聊Numpy! 今天来聊聊Numpy (二)
加油💪哦熟练掌握它,让你做事事半功一倍二倍。
以上的相关应用可以通过小蜜蜂AI的GPT问答获取更多的示例。网址:https://zglg.work。
(文章对你有用的话。记得点赞➕在看哦😯😯😯😯分享知识也是一种美德哦😯)
如有学习上的困惑或问题欢迎评论区留言告诉我们,让我们一起解决共同进步: