pandas.cut()是一个针对Series或DataFrame数据进行分箱处理的函数,其主要作用是将一系列连续型数值分成离散化的分组(或称为分箱),从而便于分类统计或分析等相关工作。
使用方法
参数说明:
-
x:需要进行离散化的数据;
-
bins:指定分组的边界值,可以是单个整数表示基于数据中的最小值和最大值生成等距间隔,也可以是一组分组边界值的列表或数组;例如:bins=[-1, 0, 1, 2, 3, 4];
-
labels:可选参数,指定生成的离散化数据的标签,可以是列表或数组,长度必须比分组边界值少1;
-
right:可选参数,指定分组是否包含右端点;
-
retbins:可选参数,是否返回分组边界值;默认为False,不返回;
-
precision:可选参数,指定分组边界值精度;默认为3位小数。
示例:
示例1
import pandas as pd
import numpy as np
df = pd.DataFrame({'value': np.random.randint(0, 100, 10)})
# 将value数据分成4组,每组的分割点为0, 25, 50和75
bins = [0, 25, 50, 75, 100]
df['group'] = pd.cut(df['value'], bins)
print(df)
输出:
value group
0 22 (0, 25]
1 46 (25, 50]
2 94 (75, 100]
3 36 (25, 50]
4 38 (25, 50]
5 63 (50, 75]
6 79 (75, 100]
7 70 (50, 75]
8 29 (25, 50]
9 99 (75, 100]
示例2
import pandas as pd
import numpy as np
df = pd.DataFrame({'value': np.random.randint(0, 100, 10)})
# 将value数据分成3组,每组的分割点为0, 50, 100,标签为较低、中等、较高
bins = [0, 50, 100]
labels = ['较低', '中等', '较高']
df['group'] = pd.cut(df['value'], bins, labels=labels)
print(df)
输出:
value group
0 72 较高
1 82 较高
2 5 较低
3 82 较高
4 71 较高
5 43 较低
6 81 较高
7 21 较低
8 71 较高
9 85 较高
以上示例中,pandas.cut()将数据列value分成了离散化的分组,第一个示例中分成了4组,第二个示例中分成了3组,并将每个组指定了一个标签。这种方式可以帮助我们更方便地对数据进行分组分析和可视化等相关操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解pandas.cut()(将数值分段)函数使用方法 - Python技术站