我正在尝试在python中创建一个简单的函数,该函数检查列中的特定值(使用布尔索引)。
我只想保留“ True”值。
我在想类似下面的代码,但是我的逻辑很难,无论是菜鸟还是其他。
def checkVal(df, col, val):
res = df[col] == val
if val == True:
'''take only the true'''
else:
'''drop'''
预期输出应为仅包含真实值的数据框。
答案 0 :(得分:2)
如果df[col]
包含布尔值,则可以执行以下操作:
df = df[df['col']]
答案 1 :(得分:0)
您为什么不执行以下操作?这比删除要简单得多,而且比较可取,特别是如果您要一个新的数据框
df1 = df.loc[df['col'] == val]