ermutuxia

2020-05-31   阅读量: 2573

Python数据分析 Python编程

用pandas库里面调用cut函数对数值变量进行分箱,ValueError: Bin labels must be one fewer than the number of bin edges

扫码加入数据分析学习群

导入库

import pandas as pd

准备数据框

a=pd.DataFrame({"x":[0.12,0.2,0.5,0.6],"y":[0.2,0.3,0.3,0.5]})

生成变量分箱字典

dic1={"x":[0,0.1,0.3,1],"y":[0,0.2,0.5,1]}

将分箱后的变量存为原来的名字上加上后缀1

a["x1"]=pd.cut(a.x,dic1["x"],labels=[1,2,3] )

上面的代码也可以写成下面这样

a["x1"]=pd.cut(a["x"],dic1["x"],labels=[1,2,3] )

#需要注意的是0,0.1,0.3,1是四个数(四个边缘),能表示3个区间,所以label只能是3个。

#如果label给定5个的话就会出现如下错误提示

ValueError: Bin labels must be one fewer than the number of bin edges

翻译成中文:箱子标签必须比箱子边缘的数量少一个,需要注意的是这里的fewer是少的意思

计算后的正确结果如下:

添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
0.4081 6 1 关注作者 收藏

评论(0)


暂无数据

推荐课程

推荐帖子