热线电话:13121318867

登录
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中。

  1. sex=np.where(user_info.性别=="男",1,0)

  2. user_info.assign(Sex=sex)

116.4625
0
关注作者
收藏
评论(0)

发表评论

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