我有一个Series对象(让我们调用它MySeries),它包含一个整数列表.
我还有一个单独的数据帧(比如说MyDataFrame),其中包含一个名为的列/字段MyField.
我想选择的所有记录MyDataFrame,其中值MyField是在MySeries
等效的SQL将是:
Select * from MyDataFrame
where MyField in
(select * from MySeries)
Run Code Online (Sandbox Code Playgroud)
谁能建议最好的方法呢?
非常感谢您的帮助.
你可以使用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
Run Code Online (Sandbox Code Playgroud)
所以,首先你得到fiter系列:
>>> df['A'].isin(f)
0 True
1 True
2 False
3 False
4 False
Run Code Online (Sandbox Code Playgroud)
然后使用它来过滤您的DataFrame
| 归档时间: |
|
| 查看次数: |
2660 次 |
| 最近记录: |