``` reshape ```
时间: 2024-06-20 20:02:00 浏览: 193
ReSharpe,ReSharpe
3星 · 编辑精心推荐
在Python中,`reshape`是一个函数,它通常用于NumPy库中,用于改变数组(ndarray)的形状或大小,但不会改变数据本身。`reshape`函数接受一个参数,即新的形状,然后返回一个新的视图(view)到原数组的数据,除非新形状导致的元素总数与原数组不同,此时会引发`ValueError`。
这里是一些可能的用法示例:
```python
import numpy as np
# 创建一个原始数组
arr = np.array([[1, 2, 3], [4, 5, 6]])
# 常规使用
# 将二维数组重塑为一维数组
reshaped_arr = arr.reshape(-1)
print(reshaped_arr) # 输出: [1 2 3 4 5 6]
# 或者指定新的形状,例如将一维数组变回二维数组
reshaped_arr_2d = arr.reshape((1, 6))
print(reshaped_arr_2d) # 输出: array([[1, 2, 3, 4, 5, 6]])
# 如果尝试改变元素总数,会引发错误
invalid_shape = arr.reshape((2, 5)) # 这里会报错,因为6不能被2整除
```
请注意,当`-1`用于新形状中的某个维度时,NumPy会自动计算该维度的大小以保持元素总数不变。
阅读全文