You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在pandas DataFrame中按指定年龄差条件筛选行并删除其余行

你不需要遍历整个数据集,用Pandas的向量化布尔索引操作就能高效完成筛选,代码实现方式如下:

实现方法一:直接筛选保留符合要求的行(推荐)

直接保留差值绝对值大于0.5的行,生成新的DataFrame,不会修改原始合并结果:

# 保留 |Age_ka - age_med_Ka| > 0.5 的行
filtered = merged[merged['Age_ka'].sub(merged['age_med_Ka']).abs() > 0.5]

实现方法二:直接在原合并DataFrame中删除不符合要求的行

如果不需要保留原始合并结果,可以直接删除对应行:

# 删除 |Age_ka - age_med_Ka| ≤ 0.5 的行
merged.drop(merged[merged['Age_ka'].sub(merged['age_med_Ka']).abs() <= 0.5].index, inplace=True)

补充说明

如果两个年龄列存在空值,计算得到的差值会返回NaN,这部分行默认不会被删除。如果需要统一处理空值,可以先执行merged.dropna(subset=['Age_ka', 'age_med_Ka'], inplace=True)清理包含空值的行后再做筛选。

内容的提问来源于stack exchange,提问作者geeseproblems

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 19:06:01