我这刚才的代码里面"td_device_proxy"这个字段就相当于“score1”,只是名字不同
想实现依据不同的score1,score2..分别将分数进行排序后分别等频分箱,每个分数等频分5箱,并依据好坏客户指标画图
data["score1均匀分箱"]=pd.qcut(data["score1"],5,labels=["a","b","c","d","e
你的命令错误的地方应该是data.columns=
["td_device_proxy"]
你要把这一句删掉
后面的命令改为
data["score1均匀分箱"]=pd.qcut(data["td_device_proxy"],5,labels=["a","b","c","d","e
你试一下下面的代码
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"])
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代替。
三个资料Q群下载不了也转发不了,先放这里Fine_tuning.zipLangChain.zipdata_clear.rar