打印 table 中特定元素的列表

Printing out a list for specific elements in a table

我有两个列表 x=[1,2,5,4,3] y=[4,8,9,2,18] 和一个类似于下面的 .csv table。

ID 年龄 姓名
1 4 3 山姆
2 50 1 拉吉
3 18 9 约翰

我的目标是为 (x,y) and (Id,Age) 中的元素打印 Group 列表。例如:由于 (1,4)(x,y) 中,也在 (Id,Age) 中,因此列表将包含 3(3,18)(x,y)(Id, Age) 中的情况类似。那么我的结果将是这些数字的列表,[3,9]

我厌倦了 result=df[df['ID'].isin(x), df['Age'].isin(y)]['Group'] 但这让我无处不在。我被困在下一步该做什么上。任何帮助将不胜感激。

您尝试做的似乎是 AND,这是用

完成的
df[df['ID'].isin(x) & df['Age'].isin(y)]

但是有了这些数据

df = pd.DataFrame([{'ID': 1, 'Age': 4, 'Group': 3, 'Name': 'Sam'},
                   {'ID': 2, 'Age': 50, 'Group': 1, 'Name': 'Raj'},
                   {'ID': 3, 'Age': 18, 'Group': 9, 'Name': 'John'},
                   {'ID': 3, 'Age': 19, 'Group': 9, 'Name': 'John'}])
x = [1, 2, 5, 4, 3]
y = [4, 8, 9, 19, 18]

它也会给出 (3, 19) 行,即使它不是一对

   ID  Age  Group  Name
0   1    4      3   Sam
2   3   18      9  John
3   3   19      9  John

你需要逐行查看,这里有一些尝试

pairs = list(zip(x, y))
result = df[pd.Series(zip(df['ID'], df['Age'])).isin(pairs)]['Group']