pandas如何将数据进行分箱
时间: 2023-06-03 18:05:27 浏览: 168
可以使用 pandas 中的 cut() 函数来将数据进行分箱。cut() 函数可以根据指定的区间将数据进行分组和分箱,使用方式如下:
```
import pandas as pd
# 创建一个 Series 对象
s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# 将 s 中的数据分为 3 组
bins = pd.cut(s, 3)
# 打印结果
print(bins)
```
运行结果会输出如下内容:
```
0 (0.992, 4.0]
1 (0.992, 4.0]
2 (0.992, 4.0]
3 (4.0, 7.0]
4 (4.0, 7.0]
5 (4.0, 7.0]
6 (7.0, 10.0]
7 (7.0, 10.0]
8 (7.0, 10.0]
9 (7.0, 10.0]
dtype: category
Categories (3, interval[float64]): [(0.992, 4.0] < (4.0, 7.0] < (7.0, 10.0]]
```
可以看到,cut() 函数将 s 中的数据分成了 3 个区间,并将每个数据点映射到了对应的区间中。我们也可以通过设定 bins 参数来指定具体的分箱区间,比如:
```
# 将 s 中的数据按照指定的区间进行分组
bins = pd.cut(s, [0, 2, 4, 6, 8, 10])
# 打印结果
print(bins)
```
运行结果如下:
```
0 (0, 2]
1 (0, 2]
2 (2, 4]
3 (2, 4]
4 (4, 6]
5 (4, 6]
6 (6, 8]
7 (8, 10]
8 (8, 10]
9 (8, 10]
dtype: category
Categories (5, interval[int64]): [(0, 2] < (2, 4] < (4, 6] < (6, 8] < (8, 10]]
```
可以看到,我们按照指定的区间将数据进行了划分,并生成了一个新的 Series 对象。
阅读全文