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

如何修改DataFrame条件判断代码实现指定数值区间逻辑?

解决方案

首先修正原始代码中的逻辑运算优先级问题(&的优先级高于==,必须给每个比较表达式加括号),再调整第二个条件的范围,最后通过numpy.select处理默认情况:

import numpy as np

# 定义调整后的条件
conditions = [
    # 第一个条件:In stock?为1且qty_total小于1
    (final_dataframe['In stock?'] == 1) & (final_dataframe['qty_total'] < 1),
    # 第二个条件:In stock?为0且qty_total在1到98765之间(包含两端)
    (final_dataframe['In stock?'] == 0) & (final_dataframe['qty_total'].between(1, 98765))
]

# 对应条件的输出值
choices = ['True', 'False']

# 生成新列,不满足任何条件时填充默认值(这里用None,可替换为任意值)
final_dataframe['Unlist This'] = np.select(conditions, choices, default=None)

关键说明

  • 用括号包裹每个比较表达式,避免因运算优先级导致的逻辑错误。
  • 使用between(1, 98765)精准限定qty_total的范围,等价于(qty_total >=1) & (qty_total <=98765)。
  • default参数用于处理qty_total超过98765的情况,你可以根据需求替换为''、'N/A'等任意值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 17:15:49