📅  最后修改于: 2023-12-03 15:39:49.067000             🧑  作者: Mango
在Python中,我们可以使用pandas库中的cut
函数将计数数据帧分组为不同的范围。本文将介绍如何使用cut
函数进行按计数数据帧分组。
首先导入pandas库。我们还将使用numpy库生成一些样本数据:
import pandas as pd
import numpy as np
# 生成随机数据
data = pd.DataFrame({'value': np.random.randint(1, 100, 10)})
这里生成了一个10行1列的数据帧。
要按范围分组计数数据帧,我们可以使用cut
函数。下面是一个例子:
# 设置区间范围
bins = [0, 25, 50, 75, 100]
# 使用cut函数进行分组
data['group'] = pd.cut(data['value'], bins)
# 显示结果
print(data)
这里,我们将值分为四个组,每个组的区间范围是0到25,25到50,50到75,75到100。使用cut函数进行分组,将每个值分配到其所属的组中。
输出结果如下所示:
value group
0 86 (75, 100]
1 37 (25, 50]
2 10 (0, 25]
3 78 (75, 100]
4 11 (0, 25]
5 27 (25, 50]
6 88 (75, 100]
7 34 (25, 50]
8 22 (0, 25]
9 63 (50, 75]
我们可以看到,group
列中包含了每个值所属的组。
默认情况下,cut
函数将组标记为它们的边界。如果我们想给组设置自定义标签,我们可以使用labels
参数。下面是一个例子:
# 设置区间范围
bins = [0, 25, 50, 75, 100]
# 设置标签
labels = ['low', 'medium', 'high', 'very high']
# 使用cut函数进行分组并应用标签
data['group'] = pd.cut(data['value'], bins, labels=labels)
# 显示结果
print(data)
这里,我们使用了与上面相同的区间范围4个组,但我们现在为每个组设置了自定义标签。我们通过在cut
函数中传递labels
参数来应用这些标签。
输出结果如下所示:
value group
0 86 very high
1 37 high
2 10 low
3 78 very high
4 11 low
5 27 medium
6 88 very high
7 34 medium
8 22 low
9 63 high
我们可以看到,现在的group
列中包含了每个值所属的自定义标签。