You need to enable JavaScript to run this app. 如何为pandas DataFrame应用条件规则以获取指定数据集?
优惠活动
大模型
产品
解决方案
定价
更多

如何为pandas DataFrame应用条件规则以获取指定数据集?

Pandas DataFrame 条件筛选问题解决方案

原代码核心问题

  • 匹配逻辑错误:循环过程中只要检测到某一行Price小于150,就直接打印全表的ItemNo、ItemName列,而非仅输出当前符合条件的对应行,最终结果会重复刷出大量冗余的全表内容,完全无法得到精准筛选的目标数据。
  • 运算效率极低:pandas本身支持向量化批量运算,原生for循环逐行遍历的写法,在数据量较大时,运行效率会比标准写法低几个数量级。

标准实现方法

pandas条件筛选的标准操作是通过布尔索引完成,无需逐行遍历:

  1. 构造布尔掩码序列,逐行标记是否满足Price < 150的判断条件
  2. 基于掩码索引匹配对应行,同时指定需要输出的列范围
  3. 增加空结果判断,当无任何匹配条目时输出"Error"

可直接使用的示例代码:

# 生成逐行判断的布尔掩码
price_filter = stock["Price"] < 150
# 提取符合条件的行,选取需要展示的ItemNo、ItemName列
match_data = stock.loc[price_filter, ["ItemNo", "ItemName"]]

# 判断匹配结果是否为空
if match_data.empty:
    print("Error")
else:
    print(match_data)

方案效果

  • 结果精准:仅输出满足价格阈值的对应条目,不会出现冗余的全表重复输出问题
  • 性能优异:所有筛选运算由pandas底层向量化逻辑处理,运行速度远高于逐行循环的写法

内容的提问来源于stack exchange,提问作者Daniel Simon George

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.29 03:24:05