Pandas:使用'item in list'语法进行布尔索引

时间:2015-10-26 17:47:09

标签: python pandas

假设我有一个名为col1的列的DataFrame。如果我想得到col1 =='a'的所有行,我可以用:

df[df.col1 == ‘a’]

如果我想要col1为'a'或'b'的行,我可以这样做:

df[(df.col1 == ‘a’) | (df.col1 == ‘b’)]

但我真的很喜欢这样做(语法上是非法的):

df[df.col1 in [‘a’, ‘b’, ‘c’]]

有没有合适的熊猫方法呢?

以下是我正在使用的内容:

sort_func = lambda x: x in [‘a’, ‘b’, ‘c’]
mask = df[‘col1’].apply(sort_func)
df[mask]

但是......有更好的方法吗?这让我很烦。

1 个答案:

答案 0 :(得分:3)

使用isin()进行过滤

- (void)showLeaderboard{
    GKGameCenterViewController* gameCenterController = [[GKGameCenterViewController alloc] init];
    gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
    gameCenterController.gameCenterDelegate = self;
    [self.view.window.rootViewController presentViewController:gameCenterController animated:YES completion:nil];
}