2 回答
TA贡献1850条经验 获得超11个赞
您可以使用str.contains检查条件满足的位置:
l = ('|').join(['Maternity leave', 'Student'])
m = random_sample['NAME_INCOME_TYPE'].str.contains(l)
您还可以m使用.isin以下方法生成:
random_sample['NAME_INCOME_TYPE'].isin(['Maternity leave', 'Student'])
然后使用np.where. 但是,请注意,您不能根据条件仅指定要从中选择的两个值之一,您必须同时指定x和y。对于您的情况,您可以使用 df['NAME_INCOME_TYPE']and otheras xand 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, 'Other', df['NAME_INCOME_TYPE'])
NAME_INCOME_TYPE NAME_INCOME_TYPE_ind
0 word1 word1
1 word2 word2
2 Student Other
添加回答
举报