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

如何检查DataFrame中除NaN外的percentage列值是否全部高于2%

实现方案

核心逻辑

你只需要先剔除percentage列的NaN值,再判断所有剩余值是否都大于0.02(即2%)即可,pandas内置的批量操作和聚合方法可以直接实现这个需求,不需要写循环遍历。

代码示例

import pandas as pd

# 示例数据构造,你可以替换成你自己的DataFrame读取逻辑
data = {
    "price": [298.075989, 308.570007, 308.130005],
    "percentage": [None, 0.035206, -0.001426]
}
df = pd.DataFrame(data, index=pd.to_datetime(["2021-10-11", "2021-10-18", "2021-10-25"]))
df.index.name = "Date"

# 核心判断逻辑
is_all_qualified = (df["percentage"].dropna() > 0.02).all()

if is_all_qualified:
    # 替换成你要打印的指定语句即可
    print("所有非空percentage值均高于2%,符合要求")
else:
    print("存在低于/等于2%的percentage值,不符合要求")

代码说明

  • df["percentage"].dropna():过滤掉percentage列的所有NaN值,避免空值干扰判断
  • > 0.02:对每一个非空值做大小比较,返回布尔类型的Series
  • .all():只有所有比较结果都为True时才返回True,只要有一个值小于等于0.02就返回False

你给出的示例数据中存在-0.001426(即-0.14%)的数值,运行代码会触发else分支的打印逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:06:03