分类变量生成哑变量

Python分析建模,日常问题整理(五)


2018.08.20~2018.08.26


  1. 修改字典keys名称
    将AA改为aa
dict["aa"] = dict.pop("AA")
  1. 返回某个值对应的行列,不能实现,因为这个值可能对应了很多行列
  2. 对分类变量生成哑变量的方法
def dat_dummy(dat,var):
    for i in var:
        temlen = len(list(set(dat[i]))[:-1])
        temix = dat.columns.tolist().index(i)
        temdf = pd.DataFrame((np.array(list(set(dat[i]))[:-1])==dat.ix[:,temix:(temix+1)].values).astype(int))
        temdf.columns = [str(x)+'_'+str(y) for x,y in zip([i]*temlen,temdf.columns.tolist())]
        dat = dat.drop([i],axis = 1)
        dat = pd.concat([dat,temdf],axis = 1)
    return dat

你可能感兴趣的:(分类变量生成哑变量)