python - 如何删除具有功能的行?
问题描述
我有一个数据框,我想删除一些行。
我有一个函数可以决定我们是否需要删除该行
例如(只是示例,不是实际逻辑):
def is_valid(val):
if val >= 50:
return True
return False
我想在TRR
列 ( df['TRR']
) 上运行函数并从函数中删除所有应用 False 的行is_valid
。
我们该怎么做?
解决方案
如果True
意味着删除行使用boolean indexing
with Series.apply
,这里~
是用于保留False
行的 intert 掩码:
df = df[~df['TRR'].apply(is_valid)]
如果True
意味着保持行使用:
df = df[df['TRR'].apply(is_valid)]
推荐阅读
- bash - 列出组织的所有存储库的 Bash 脚本
- linux - 如何知道文件是否在 bash 中被删除和创建?
- r - 使用 dplyr mutate 在 RMarkdown 中使用 extraKable 为 pdf 着色表?
- wpf - 在 Visual Studio 2017 中制作 WPF 安装程序
- fortran - 如何在子程序/函数中传递函数名
- sql-server - 没有使用 WHILE 函数插入记录以生成多条新记录
- javascript - 过滤 DynamoDB 查询以排除值(DynamoDB、Javascript)
- javascript - 可以修改此脚本以使其切换到页面的链接吗?
- c# - 以 Windows 用户身份启动浏览器进程
- r - 带有 xreg 的 auto.arima 在 do.call 中不起作用