检查列中的特定值,并仅保留“ True”

时间:2019-09-05 07:35:11

标签: python pandas

我正在尝试在python中创建一个简单的函数,该函数检查列中的特定值(使用布尔索引)。

我只想保留“ True”值。

我在想类似下面的代码,但是我的逻辑很难,无论是菜鸟还是其他。

def checkVal(df, col, val):

    res = df[col] == val

    if val == True:
    '''take only the true'''
    else:
         '''drop'''

预期输出应为仅包含真实值的数据框。

2 个答案:

答案 0 :(得分:2)

如果df[col]包含布尔值,则可以执行以下操作:

df = df[df['col']]

答案 1 :(得分:0)

您为什么不执行以下操作?这比删除要简单得多,而且比较可取,特别是如果您要一个新的数据框

df1 = df.loc[df['col'] == val]