本文介绍了等同于"in". pandas 中的关键字或子查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个Series对象(我们称其为MySeries
),其中包含一个整数列表.
I have a Series object (let's call this MySeries
) which contains a list of integers.
我还有一个单独的数据框(例如MyDataFrame
),其中包括一个称为MyField
的列/字段.
I also have a separate dataframe (say MyDataFrame
), which includes a column/field called MyField
.
我想从MyDataFrame
中选择MyField
中的值位于MySeries
I want to select all records from MyDataFrame
where the value in MyField
is in MySeries
等效的SQL将是:
Select * from MyDataFrame
where MyField in
(select * from MySeries)
有人可以建议最好的方法吗?
Could anyone suggest the best way to do this?
非常感谢您的帮助.
推荐答案
,您可以使用 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
因此,首先您将获得钳工系列:
so, first you get fiter Series:
>>> df['A'].isin(f)
0 True
1 True
2 False
3 False
4 False
然后使用它来过滤您的DataFrame
And then use it to filter your DataFrame
这篇关于等同于"in". pandas 中的关键字或子查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!