piecewise()
时间: 2023-09-26 10:13:55 浏览: 58
`np.piecewise()` 是 numpy 中的一个函数,用于根据条件列表和函数列表对输入数组进行分段处理,返回一个新的数组。
语法格式如下:
```
numpy.piecewise(x, condlist, funclist, *args, **kw)
```
其中:
- `x`:需要分段处理的数组;
- `condlist`:条件列表,是一个列表或元组,里面包含多个条件,每个条件是一个布尔数组,用于对输入数组进行分段处理;
- `funclist`:函数列表,是一个列表或元组,里面包含多个函数,用于对输入数组不同分段进行处理;
- `*args` 和 `**kw`:可选参数,传递给函数列表中的函数。
举个例子,如果我们想要对数组 `x` 进行分段处理,当 `x` 的值小于 0 时返回 0,当 `x` 的值在 0 到 10 之间时返回 2,当 `x` 的值大于 10 时返回 4,可以使用如下代码:
```python
import numpy as np
x = np.array([-5, 3, 8, 12])
result = np.piecewise(x, [x < 0, (x >= 0) & (x <= 10), x > 10], [0, 2, 4])
print(result) # 输出 [0 2 4 4]
```
在上面的代码中,`condlist` 的值为 `[x < 0, (x >= 0) & (x <= 10), x > 10]`,表示将 `x` 小于 0、大于 10 或在 0 到 10 之间的值分成三段;`funclist` 的值为 `[0, 2, 4]`,表示将这三段分别用 0、2、4 进行处理。