我有一个熊猫df。
+----------+------------+-------------+-----+--+
| City | First_name | Last_name | Age | |
+----------+------------+-------------+-----+--+
| London | Han | Solo | 34 | |
| Paris | Luke | Skywalker | 30 | |
| New York | Leia | Organa | 30 | |
| LA | Lando | calrissian | 40 | |
+----------+------------+-------------+-----+--+
和使用.loc [:,'Age']
从另一个较小的df(df2)中获得的(熊猫)系列+------------+
| Age |
+------------+
| 30 |
| 30 |
+------------+
我想使用系列信息选择df1中的所有行。给这样的东西,
+----------+------------+-------------+-----+--+
| City | First_name | Last_name | Age | |
+----------+------------+-------------+-----+--+
| Paris | Luke | Skywalker | 30 | |
| New York | Leia | Organa | 30 | |
+----------+------------+-------------+-----+--+
我看过有关.loc和.iloc的文献,但这似乎不是我所追求的。我试图编写一个小的for循环,但是经验有限(我是编程新手)。有人有什么建议吗?
答案 0 :(得分:1)
假设较大的df为df1
,较小的df为df2
,请提取您要选择的age值:
mask = df2['Age'].unique()
然后只需通过此df1
查询mask
:
df1.loc[df1['Age'].isin(mask)]
答案 1 :(得分:0)
尝试直接比较数据框:
df[df['Age'] == df2['Age']]