您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 我怎么能实现像np.where这样的东西([‘value1′,’value2’]中的df [varaible])

5b51 2022/1/14 8:21:30 python 字数 2883 阅读 509 来源 www.jb51.cc/python

嗨我想在['value1','value2']等条件下将一个分类变量的值更改为其他值这是我的代码:random_sample['NAME_INCOME_TYPE_ind'] = np.where(random_sample['NAME_INCOME_TYPE'] in ['Maternity leave', 'Student']), 'Other') 我尝试

概述

嗨我想在[‘value1′,’value2’]等条件下将一个类变量的值更改为其他值

这是我的代码

random_sample['NAME_INCOME_TYPE_ind'] = np.where(random_sample['NAME_INCOME_TYPE'] in ['Maternity leave','Student']),'Other')

我尝试在这代码的不同位置添加.any(),但它仍然无法解决错误.
ValueError:Series的真值是不明确的.使用a.empty,a.bool(),a.item(),a.any()或a.all().

l = ('|').join(['Maternity leave','Student'])
m = random_sample['NAME_INCOME_TYPE'].str.contains(l)

您还可以使用.isin生成m:

random_sample['NAME_INCOME_TYPE'].isin(['Maternity leave','Student'])

然后使用np.where.但是,请注意,您不仅可以根据条件指定要从中选择的两个值中的一个,还必须同时指定x和y.对于您的情况,您可以使用df [‘NAME_INCOME_TYPE’]和其他作为x和y:

random_sample['NAME_INCOME_TYPE_ind'] = np.where(m,'Other',random_sample['NAME_INCOME_TYPE'])

测试示例数据帧:

df = pd.DataFrame({'NAME_INCOME_TYPE':['word1','word2','Student']})

l = ('|').join(['Maternity leave','Student'])
m = random_sample['NAME_INCOME_TYPE'].str.contains(l)
df['NAME_INCOME_TYPE_ind'] = np.where(m,df['NAME_INCOME_TYPE'])

       NAME_INCOME_TYPE NAME_INCOME_TYPE_ind
0            word1                word1
1            word2                word2
2          Student                Other

总结

以上是编程之家为你收集整理的python – 我怎么能实现像np.where这样的东西([‘value1′,’value2’]中的df [varaible])全部内容,希望文章能够帮你解决python – 我怎么能实现像np.where这样的东西([‘value1′,’value2’]中的df [varaible])所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶