数据分箱技术Binning

数据分箱技术Binning

数据分箱就是按照某种规则将数据进行分类。就像可以将水果按照大小进行分类,售卖不同的价格一样。

对Series进行分箱

创建一个整形随机的series,表示学生的成绩:

import numpy as np
import pandas as pd
from pandas import Series, DataFrame
score_list = np.random.randint(25, 100, size=20)

然后指定一个分箱原则

bins = [0,59,70,80,100]

然后利用pandas中的cut方法,指定分箱规则和对象,结果将获得一个Categories对象:

score_cat = pd.cut(score_list, bins)

使用pandas中的value_counts方法来统计各个段内数据的个数:

pd.value_counts(score_cat)

对Dataframe分箱

创建一个包含学生分数和姓名的dataframe:

df = DataFrame()  
df['score'] = score_list
df['student'] = [pd.util.testing.rands(3) for i in range(20)]  # 三个随机字符串

这里的pd.util.testing.rands(3) for i in range(20)可以生成20个随机3位字符串。

然后使用前面的bins标准对df1进行分箱,得到一个Categories对象:

df['Categories'] = pd.cut(df['score'],bins)

这样子可读性不好,可以指定label参数为每个区间赋一个标签:

df['Categories'] = pd.cut(df['score'],bins, labels=['Low','OK','Good','Great'])

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值