过滤熊猫中的布尔值

时间:2020-08-18 19:15:57

标签: python pandas

我正在尝试仅过滤此数据集中具有True值的列:

Name Surname Age New_Joiner
Greta G.     56    False
Tim   H.     24    True
Rita  F.     46    False
Sara  S.     34    True
...

我的预期输出是

Name Surname Age New_Joiner
Tim   H.     24    True
Sara  S.     34    True
...

我试图将这个选择条件添加到一个很小的函数中(可能没有多大意义):

def filt(file):
    file[['New_Joiner']]
    return file

但是当我叫它

sel=filt(df)

我不仅得到了True值,还得到了False。 我使用dtype检查了New_Joiner列的类型,它是布尔值。

3 个答案:

答案 0 :(得分:2)

将功能更改为

def filt(file):
    file = file[file['New_Joiner']]
    return file

答案 1 :(得分:2)

您不需要两个步骤,

sel = file[file['New_Joiner']]

答案 2 :(得分:1)

经过测试,现在可以扩展我的评论。您可以一起跳过该功能并使用:

df[df['New_Joiner']]

这将仅返回True值,因为它是布尔掩码。