2020-08-06
阅读量:
7198
python 按照等频分箱并依据好坏客户画出每个分数的分箱趋势图
想实现依据不同的score1,score2..分别将分数进行排序后分别等频分箱,每个分数等频分5箱,并依据好坏客户指标画图
22.6115
3
9
关注作者
收藏
评论(6)
发表评论
ermutuxia
2020-08-06
data["score1均匀分箱"]=pd.qcut(data["score1"],5,labels=["a","b","c","d","e
0.0000
0
0
ermutuxia
2020-08-06
你的命令错误的地方应该是data.columns=
["td_device_proxy"]
你要把这一句删掉
后面的命令改为
data["score1均匀分箱"]=pd.qcut(data["td_device_proxy"],5,labels=["a","b","c","d","e
0.0000
0
0
ermutuxia
2020-08-06
你试一下下面的代码
import pandas as pd
import numpy as np
#模拟一些数据
data1=pd.DataFrame(np.random.random_integers(1,1000,(100,3)))
data1.columns=["x1","x2","x3"]
data1["x1均匀分箱"]=pd.qcut(data1["x1"],4,labels=["a","b","c","d"])
0.0000
0
0
ermutuxia
2020-08-06
data1=pd.DataFrame(np.random.random_integers(1,1000,(100,3)))
data1.columns=["x1","x2","x3"]
上面这两句的意思是导入数据或者生成模拟数据,只要生成一个数据框对象就行,根据你前面的截图,你已经有数据框了,不需要执行这两句。
你需要用到的是下面这句
data1["x1均匀分箱"]=pd.qcut(data1["x1"],4,labels=["a","b","c","d"])
pd.qcut是对变量进行分位数分箱,data1["x1"]是你对哪个变量进行分箱,4是分箱分成4类,labels参数设定这四类的标签,如果不设定就会用0、1、2、3代替。
0.0000
0
0
推荐帖子
0条评论
0条评论
1条评论