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

如何使用布尔语句筛选DataFrame列数据并返回符合条件的条目

Pandas DataFrame布尔条件筛选方法

核心实现逻辑

直接基于目标列构造布尔掩码,用掩码匹配对应行即可,针对你提的score列筛选value != 0的需求,具体操作如下:

步骤1:构造布尔判断序列

mask = dataframe['score'] != 0
生成的mask是和原DataFrame行数完全对应的布尔序列,满足筛选条件的行位置为True,不满足为False。

步骤2:按需提取目标数据

  • 提取满足条件的完整行数据(保留所有列):
    filtered_df = dataframe[mask]
    
  • 仅提取满足条件的score列的索引和对应值(返回带索引的Series对象),两种等价写法均可:
    # 写法1:用loc显式指定行和列
    result = dataframe.loc[mask, 'score']
    # 写法2:直接对目标列做筛选
    result = dataframe['score'][dataframe['score'] != 0]
    

示例输出

针对你给出的score列样例数据,运行后返回的result结果如下:

1      1
3      3
101    9
102    7
Name: score, dtype: int64

如果需要单独提取索引或值的列表:

  • 提取索引列表:result.index.tolist(),输出为[1, 3, 101, 102]
  • 提取值列表:result.tolist(),输出为[1, 3, 9, 7]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 08:27:07