数据预处理

数据预处理 专栏收录该内容
1 篇文章 0 订阅

用Cut函数分箱

有时把数值聚集在一起更有意义。例如,如果我们要为交通状况(路上的汽车数量)根据时间(分钟数据)建模。具体的分钟可能不重要,而时段如“上午”“下午”“傍晚”“夜间”“深夜”更有利于预测。如此建模更直观,也能避免过度拟合。
这里我们定义一个简单的、可复用的函数,轻松为任意变量分箱。


def binning(col, cut_points, labels=None):    
#Define min and max values:    
	minval = col.min()    
	maxval = col.max()    
	#利用最大值和最小值创建分箱点的列表    
	break_points = [minval] + cut_points + [maxval]    
	#如果没有标签,则使用默认标签0 ... (n-1)    
	if not labels:      
		labels = range(len(cut_points)+1)    
		#使用pandas的cut功能分箱    
		colBin = pd.cut(col,bins=break_points,labels=labels,include_lowest=True)    
		return colBin    
		#为年龄分箱:  
cut_points = [90,140,190]  
labels = ["low","medium","high","very high"]  
data["LoanAmount_Bin"] = binning(data["LoanAmount"], cut_points, labels)  
print pd.value_counts(data["LoanAmount_Bin"], sort=False) 

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值