Pandas使用cut函数将数据离散化
在 pandas 中,可以使用 cut 函数将数值型数据离散化成分类变量。离散化是指将连续型数据分成若干个离散的区间,每个区间对应一个分类变量,用于进行分组、统计和建模等操作。
下面是一个简单的示例:
import pandas as pd # 创建一个数据框 df = pd.DataFrame({'age': [20, 30, 25, 35, 40, 25, 30], 'income': [3000, 4000, 5000, 6000, 7000, 8000, 9000]}) # 将 age 列离散化成 3 个区间,并创建新的一列 category df['category'] = pd.cut(df['age'], bins=[0, 25, 30, 100], labels=['young', 'middle-aged', 'old']) # 显示离散化结果 print(df)
在上面的示例中,我们首先创建一个数据框 df,其中包含两列数据:age 表示年龄,取值为整数;income 表示收入,取值为整数。然后,我们使用 cut 函数将 age 列离散化成 3 个区间(0-25、25-30、30-100),并将每个区间对应的分类变量分别命名为 'young'、'middle-aged' 和 'old'。最后,我们使用 print 函数显示离散化后的数据框。
需要注意的是,cut 函数的第一个参数是需要离散化的数据,第二个参数是区间的分界点,可以使用一个列表指定分界点,也可以使用一个整数指定区间的个数,此时 cut 函数会根据数据的最小值和最大值自动计算区间的分界点。labels 参数是每个区间对应的分类变量,其长度必须比区间的个数少 1,例如,在上面的示例中,我们使用了 3 个区间,因此 labels 参数的长度为 2。
相关文章