12

MySeries我有一个包含整数列表的 Series 对象(我们称之为 this )。

我还有一个单独的数据框(比如MyDataFrame),其中包括一个名为MyField.

我想选择MyDataFrame值所在的MyField所有记录MySeries

等效的 SQL 将是:

Select * from MyDataFrame 
where MyField in 
    (select * from MySeries)

谁能建议最好的方法来做到这一点?

非常感谢您的帮助。

4

1 回答 1

13

您可以使用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

所以,首先你得到更健康的系列:

>>> df['A'].isin(f)
0     True
1     True
2    False
3    False
4    False

然后用它来过滤你的 DataFrame

于 2013-10-29T19:08:34.030 回答