Python reshape() 函数:对数组进行形状变换369


在 Python 中,NumPy 库提供了一个 reshape() 函数,它可以更改多维数组的形状。reshape() 函数通过改变数组元素的排列方式,而不是复制数据本身,来高效地执行此操作。

语法

reshape() 函数的语法如下:```python
(array, new_shape, order='C')
```
* array:要重新整形的多维数组。
* new_shape:数组的期望新形状,以元组形式指定。
* order:指定元素在内存中存储的顺序。默认值为 'C',表示按行顺序存储元素。

参数* new_shape:一个元组,指定数组的新形状。新形状的长度必须与数组的元素总数相匹配。
* order:一个字符串,指定元素在内存中存储的顺序。以下选项可用:
* 'C':按行顺序存储元素。
* 'F':按列顺序存储元素。

返回值

reshape() 函数返回一个具有指定 new_shape 的新数组。新数组共享与原始数组相同的数据,但形状已更改。

示例

考虑以下示例,其中我们创建了一个 3x4 数组并将其重塑为 2x6 数组:```python
import numpy as np
# 创建一个 3x4 数组
arr = ([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
# 将数组重塑为 2x6 数组
new_arr = (arr, (2, 6))
# 打印新数组
print(new_arr)
```
输出:
```
[[ 1 2 3 4 5 6]
[ 7 8 9 10 11 12]]
```
在这个示例中,原始数组是 3x4 形状,而 new_shape 参数指定了一个 2x6 形状的新数组。reshape() 函数成功地将数组重塑为期望的形状,元素的顺序保持不变。

重要提示

需要注意以下几点:* reshape() 函数不会更改原始数组。它创建了一个具有指定 new_shape 的新数组。
* new_shape 的长度必须与原始数组的元素总数相匹配。否则,将引发 ValueError。
* order 参数指定了元素在内存中存储的顺序。在大多数情况下,使用默认值 'C' 就可以了。
* reshape() 函数仅适用于 NumPy 数组。它不能应用于其他 Python 序列类型,例如列表或元组。

2024-10-19


上一篇:Python字符串:如何轻松去掉字符

下一篇:Python中的数据挖掘算法