Python 对包含和精确匹配条件使用numpy

Python 对包含和精确匹配条件使用numpy,python,pandas,numpy,Python,Pandas,Numpy,正在尝试创建具有以下条件的新数据帧: 如果列1!=“uuu”和column2包含“yes”,然后一个新列得到值“yes”。 如果以上不匹配,则获取值“no_match” 例如: 到目前为止,我的代码是: df['new_column'] = pd.np.where(df.column2.str.contains('yes') & np.where(df['column1']) != 'uuu', 'yes', 'no') 我做错了什么?大致如下: def myFunc(row):

正在尝试创建具有以下条件的新数据帧: 如果列1!=“uuu”和column2包含“yes”,然后一个新列得到值“yes”。 如果以上不匹配,则获取值“no_match”

例如:

到目前为止,我的代码是:

df['new_column'] = pd.np.where(df.column2.str.contains('yes') & np.where(df['column1']) != 'uuu', 'yes', 'no')

我做错了什么?

大致如下:

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)

仅使用一个
np。其中
通过
链接条件:

m1 = df.column2.str.contains('yes')
m2  = (df['column1'] != 'uuu')
df['new_column'] = pd.np.where(m1 & m2, 'yes', 'no match')

请将数据复制并粘贴为文本。没有图片请
np.where(df['column1'])!='uuu'
毫无意义。您要检查
df['column1'])!='uuu’
,检查文档中的
np。如果
是FOROP,也许OP更愿意知道他当前的方法有什么问题,经过一些修正,比使用自定义函数的
应用
快得多