1.数值型变量。
如1,2,3,7,9,13,14,按0-6,7-12,12-分为三类,并赋值
def gczam(data):
bins=[0,6,12,max(data['col'])] #按0-6,6-12,12-进行拆分。左右为最小最大值。
#bins必须严格递增,若不确定12与最大值之间的关系报错,则使用if判断后再进行
result=pd.cut(data['col'],bins,right=True,labels=[0,1,2]) #labels为分类赋值结果,0-6赋值0。比bins中数目少一个
return result
#使用:data1['col']=gczam(data1)
2.文本型变量
如‘正常’,‘异常’等等.如文本采集不全,采用关键字提取进行分类,我这里面使用abcd代替
def wbqx(data):
for i in range(len(data)):
if pd.isnull(data.loc[i,'col'])==False:
s=data.loc[i,'col']
if 'a' in s:
data.loc[i,'col']='a类'
elif 'b' in s or 'c' in s:
data.loc[i,'col']='b类'
elif 'd' in s:
data.loc[i,'col']='正常'
else:
data.loc[i,'col']=None
return data
#调用:data1=wbqx(data1)