概述
嗨我想在[‘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)
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])所遇到的程序开发问题。
如果您也喜欢它,动动您的小指点个赞吧