首页 > 解决方案 > 如何删除具有功能的行?

问题描述

我有一个数据框,我想删除一些行。

我有一个函数可以决定我们是否需要删除该行

例如(只是示例,不是实际逻辑):

def is_valid(val):
   if val >= 50:
       return True
   return False

我想在TRR列 ( df['TRR']) 上运行函数并从函数中删除所有应用 False 的行is_valid

我们该怎么做?

标签: pythonpandas

解决方案


如果True意味着删除行使用boolean indexingwith Series.apply,这里~是用于保留False行的 intert 掩码:

df = df[~df['TRR'].apply(is_valid)]

如果True意味着保持行使用:

df = df[df['TRR'].apply(is_valid)]

推荐阅读