我有一个Series对象(让我们称之为MySeries
),其中包含一个整数列表。
我还有一个单独的数据框(比如MyDataFrame
),其中包含一个名为MyField
的列/字段。
我想从MyDataFrame
中选择MyField
中的值MySeries
等效的SQL将是:
Select * from MyDataFrame
where MyField in
(select * from MySeries)
有人能建议最好的方法吗?
非常感谢您的帮助。
答案 0 :(得分:6)
您可以使用isin()功能:
>>> df = pd.DataFrame({'A':[1,2,3,4,5], 'B':list('ABCDE')})
>>> f = pd.Series([1,2])
>>> df[df['A'].isin(f)]
A B
0 1 A
1 2 B
所以,首先你得到fiter系列:
>>> df['A'].isin(f)
0 True
1 True
2 False
3 False
4 False
然后使用它来过滤您的DataFrame