2020-12-06
阅读量:
1454
Python numpy 中的np.where() 生成衍生变量和panda中的df.assign() 生成新的一列
基础知识:
众所周知,pandas中我们对dataframe的列的添加都是在原始的dataframe表格进行体现了,但是如果此时我们并不希望列的增加体现在原数据中呢,此时就有一个方法,df.assign()
用法表达式:user_info.assign(新列=88) ----user_info为此例子中使用的dataframe名称。
再来介绍下np.where() ,这个方法是实现根据数组中一列数据生成一列衍生变量的功能。
那么现在就有想法了吧,为什么np.where()会和df.assign() 搭配。
np.where(user_info.性别=="男",1,0)----根据dataframe中性别列是否为男生成一列1和0的布尔值的array,是的,这个结果返回的是array。
user_info["sex"]=np.where(user_info.性别=="男",1,0) 此时user_info就会出现新的一列叫做sex,里面有1和0
此时不禁会想,也许在后面我们在算法中学到的lable encode让你抓头的时候,使用这个方法也未必不行。
那么到此时,来实现我们的一个梦想吧,添加一列新的衍生变量到一个新的dataframe中。
sex=np.where(user_info.性别=="男",1,0)
user_info.assign(Sex=sex)






评论(0)


暂无数据
推荐帖子
0条评论
1条评论
0条评论