Select Dataframe 记录具有多个条件的列表

Select Dataframe records with multiple conditions with a list

我有一个文本列表。

thislist = ["apple", "banana", "cherry"]

我有一个数据框如下

d = {'fruit ': [apple, orange, pear, mango, banana, cherry], 'price': [1, 2, 3, 4, 5, 6], 'status':['y','y','n','n','y','n'}
df = pd.DataFrame(data=d)

我的列表和数据框可能是动态的,因此我不想通过硬编码 df['fruit'] == 'apple'

等变量来 select 我的数据框

如何用动态列表以这种方式写入 select 我的行? 例子

df2 = (df1[(df1['fruits']==thislist[x]) & 
(df1['status'] == 'y')])

x 将 运行 沿着这个列表在哪里?

你想要的IIUCisin:

df[df['fruit'].isin(thislist) & (df['status'] == 'y')]

   fruit   price status
0   apple      1      y
4  banana      5      y