pandaps使用多个字段一起筛选行

2024-10-16 20:46:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一只像这样的熊猫:

In [34]: people = pandas.DataFrame({'name' : ['John', 'John', 'Mike', 'Sarah', 'Julie'], 'age' : [28, 18, 18, 2, 69]})
         people  = people[['name', 'age']]
         people

Out[34]:    
    name    age
0   John    28
1   John    18
2   Mike    18
3   Sarah   2
4   Julie   69

我想使用以下元组筛选这个DataFrame

^{pr2}$

输出应如下所示:

Out[35]: 
    name    age
0   John    28
2   Mike    18

我试过这样做:

In [34]: mask = k.isin({'name': ['John', 'Mike'], 'age': [28, 18]}).all(axis=1)
         k = k[mask]
         k

但是它显示了两个john,因为它独立地过滤每个列(两个john的年龄都在age数组中)。在

Out[34]: 
    name    age
0   John    28
1   John    18
2   Mike    18

如何根据合并在一起的多个字段筛选行?在


Tags: nameindataframepandasagemaskoutjohn