Python 对包含和精确匹配条件使用numpy
正在尝试创建具有以下条件的新数据帧: 如果列1!=“uuu”和column2包含“yes”,然后一个新列得到值“yes”。 如果以上不匹配,则获取值“no_match” 例如: 到目前为止,我的代码是: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):
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更愿意知道他当前的方法有什么问题,经过一些修正,比使用自定义函数的应用快得多