You can select values after filtering, but not recommended, because if set values similar way possible warning:
s = df.loc[(df['col1']=='apple') & (df['col2']=='guitar')].answer
Better way is use DataFrame.loc
for filter by mask and by column name:
s = df.loc[(df['col1']=='apple') & (df['col2']=='guitar'), 'answer']
Or using DataFrame.query
:
s = df.query("col1=='apple' and col2=='guitar'").answer
Output is one or more values in Series
, if need first one to scalar:
first = s.iat[0]
If need solution working also if no match:
first = next(iter(s), 'no match')
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…