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

如何用Pandas筛选指定列并保留DataFrame中至少一列非零的行

Pandas DataFrame 过滤方案

步骤1:保留指定列

先定义目标列列表,然后用filter方法精准筛选这些列:

target_columns = ['lesbian', 'gay', 'bisexual', 'transgender', 'trans', 'queer', 'lgbt', 'lgbtq', 'homosexual', 'straight', 'heterosexual']
filtered_df = df.filter(items=target_columns)

步骤2:移除全零行

注意:any(axis=1)会按行判断是否存在至少一个非零值,用这个方法直接过滤掉全零行:

# 筛选出至少有一个值大于0的行
final_df = filtered_df[filtered_df.any(axis=1)]
# 或者更简洁的链式写法
final_df = df.filter(items=target_columns).loc[lambda x: x.any(axis=1)]

为什么比循环高效?

Pandas的内置函数是基于向量化运算实现的,底层用C优化过,比起Python层面的循环,运算速度能提升几个数量级,尤其处理大数据集时优势更明显。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 00:35:40