numpy将二维数组改为一维数组
时间: 2023-10-05 21:07:22 浏览: 188
二维数组转一维数组
可以使用 `numpy.ndarray.flatten()` 方法将二维数组变成一维数组。示例如下:
```python
import numpy as np
# 创建二维数组
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
# 将二维数组变成一维数组
arr1d = arr2d.flatten()
print(arr1d) # 输出 [1 2 3 4 5 6]
```
`flatten()` 方法会将二维数组按照行展开成一维数组。
另外,`numpy.ndarray.ravel()` 方法也可以将多维数组展开成一维数组,与 `flatten()` 方法不同的是,`ravel()` 方法返回的是数组的一个视图,即原数组的一个引用,因此在修改返回的数组时会影响原数组。示例如下:
```python
import numpy as np
# 创建二维数组
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
# 将二维数组变成一维数组
arr1d = arr2d.ravel()
print(arr1d) # 输出 [1 2 3 4 5 6]
# 修改返回的数组
arr1d[0] = 0
print(arr2d) # 输出 [[0 2 3] [4 5 6]]
```
因为返回的是原数组的一个引用,所以修改返回的数组时会影响原数组。如果不想影响原数组,可以使用 `numpy.ndarray.flatten()` 方法。
阅读全文