尝试使用以下条件创建新的数据框: 如果column1!=“ uuu”并且column2包含“ yes”,则新列将获得值“ yes”。 如果以上都不匹配,则获取值“ no_match”
示例:
到目前为止,我的代码:
df['new_column'] = pd.np.where(df.column2.str.contains('yes') & np.where(df['column1']) != 'uuu', 'yes', 'no')
我在这里做什么错了?
答案 0 :(得分:2)
仅使用一个np.where
链接条件为&
的{{1}}:
m1 = df.column2.str.contains('yes')
m2 = (df['column1'] != 'uuu')
df['new_column'] = pd.np.where(m1 & m2, 'yes', 'no match')
答案 1 :(得分:0)
类似的东西:
def myFunc(row):
if row['column1'] != 'uuu' and row['column2'] == 'yes':
return 'yes'
else:
return 'no_match'
df['new_column'] = df.apply(myFunc, axis=1)