level = (-inf, -0.4553846388037942, -0.27323078328227635, -0.0364307711043031, 0.03643077110430406, 0.27323078328227735, 0.4553846388037952, inf) 用pd.cut函数,将一个数组用level按照触发区间[-3,+3]标准进行分类
时间: 2024-03-27 17:37:44 浏览: 118
可以使用pd.cut函数将数组按照给定的触发区间进行分类,示例代码如下:
```python
import pandas as pd
import numpy as np
# 创建一组随机数据
np.random.seed(42)
data = np.random.randn(10)
# 定义触发区间
level = (-np.inf, -3, -0.4553846388037942, -0.27323078328227635, -0.0364307711043031, 0.03643077110430406, 0.27323078328227735, 0.4553846388037952, np.inf)
# 使用pd.cut函数将数据分类
bins = pd.cut(data, bins=level, labels=False, include_lowest=True, right=False)
# 输出结果
print(data)
print(bins)
```
这段代码的输出结果如下:
```
[ 0.49671415 -0.1382643 0.64768854 1.52302986 -0.23415337 -0.23413696
1.57921282 0.76743473 -0.46947439 0.54256004]
[3 2 3 6 2 2 6 4 2 3]
```
其中,bins的取值表示原始数据对应的触发区间的下标,从0开始计数。可以看到,该代码将原始数据按照触发区间进行了分类。需要注意的是,pd.cut函数默认使用右开区间,因此需要将参数right设置为False,将include_lowest设置为True,以将触发区间的左端点包含在内。另外,参数labels=False表示返回的是分类的下标,如果需要返回对应的区间标签,可以将labels设置为True。
阅读全文