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

如何在Pandas DataFrame中对小于1的数值实现sumif条件求和

实现方案

你可以直接通过pandas的布尔过滤+链式求和实现,代码简洁且执行效率高:

import pandas as pd

d = {'col1': [0.1, 0.2, 1.2]}
dataframe = pd.DataFrame(data=d)

# 全局统计所有列中小于1的数值总和
result = dataframe[dataframe < 1].sum().sum()

如果仅需要对指定列做统计,可以简化为如下写法,性能更高:

# 仅统计col1列中小于1的数值总和
result = dataframe.loc[dataframe['col1'] < 1, 'col1'].sum()

逻辑说明

  • dataframe < 1会生成和原DataFrame结构一致的布尔矩阵,小于1的位置标记为True,反之为False
  • 用布尔矩阵过滤原DataFrame后,不满足条件的位置会被置为NaN,pandas求和时会自动忽略NaN值
  • 全局统计时第一次sum()会按列求和得到Series结构,第二次sum()会将所有列的求和结果汇总,适配多列全局统计的需求

内容的提问来源于stack exchange,提问作者Adler Müller

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 22:09:05