第5关:Numpy 的拆分
时间: 2024-10-22 07:13:06 浏览: 18
numpy中文手册
在NumPy中,拆分(splitting)是指将数组分割成几个子数组,通常按指定的大小或基于特定的索引切片来进行。这有助于管理和处理大型数据集,尤其是当需要操作部分数组而不是整个数组时。以下是几个常用的拆分方法:
1. **np.split()**:这是一个函数,它接收一个数组和一个列表或整数序列作为参数,表示要按照哪些位置或间隔来划分数组。
```python
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6])
splits = np.split(arr, [2, 4]) # 分割为[0, 1, 2] 和 [3, 4, 5, 6]
```
2. **np.hsplit()** 和 **np.vsplit()**:这两个函数分别用于水平方向(列)和垂直方向(行)拆分数组。例如:
```python
arr = np.array([[1, 2], [3, 4], [5, 6]])
h_splits = np.hsplit(arr, 2) # 水平拆分为[[1, 2], [3, 4]] 和 [[5, 6]]
v_splits = np.vsplit(arr, 2) # 垂直拆分为[[1, 2], [3, 4]] 和 [[5, 6]]
```
3. **numpy.ndarray.reshape()** 或 **np.array_split()**:虽然不是直接的“拆分”功能,reshape可以改变数组形状,并间接影响分割。`array_split()` 则返回一个包含子数组的列表,适合于等分数组。
阅读全文