0

0

Pandas DataFrame累积求和:高效创建运行总计列

心靈之曲

心靈之曲

发布时间:2025-08-25 22:22:28

|

691人浏览过

|

来源于php中文网

原创

Pandas DataFrame累积求和:高效创建运行总计列

本教程详细介绍了如何在Pandas DataFrame中高效计算列的累积和(运行总计),并将其作为新列添加到DataFrame中。我们将利用Pandas内置的cumsum()方法,通过清晰的示例代码演示其用法,帮助读者快速掌握数据累积计算的核心技巧,提升数据处理效率。

理解累积和(Running Total)

在数据分析中,累积和(cumulative sum),也称为运行总计(running total),是一种常见的数据转换操作。它表示序列中每个元素及其之前所有元素的总和。例如,给定一个数值序列 [a, b, c, d],其累积和序列将是 [a, a+b, a+b+c, a+b+c+d]。这种计算在财务分析(如累计销售额)、库存管理、时间序列分析等领域非常有用。

使用Pandas cumsum() 方法

Pandas库为DataFrame和Series对象提供了一个内置的cumsum()方法,用于高效地计算累积和。这个方法可以直接应用于DataFrame的某一列(即一个Series),也可以应用于整个DataFrame。

示例:计算DataFrame列的累积和

假设我们有一个包含数值数据的Pandas DataFrame,并且需要为其中一列计算其累积和,并将结果存储为一个新的列。以下是一个具体的实现示例:

import pandas as pd

# 1. 创建一个示例DataFrame
# 模拟原始数据,其中 'A' 列是我们需要计算累积和的源数据
data = {
    "field": ["u", "v", "w", "x", "y"],
    "A": [60, 78, 42, 61, 36],
}
df = pd.DataFrame(data)

print("原始DataFrame:")
print(df)

# 2. 使用 cumsum() 方法计算 'A' 列的累积和
# 将计算结果赋值给一个新的列 'B'
df["B"] = df["A"].cumsum()

print("\n计算累积和后的DataFrame:")
print(df)

代码解析:

  1. 我们首先导入pandas库并创建一个名为df的示例DataFrame。这个DataFrame包含两列:field(标识符)和A(数值数据)。
  2. 核心操作是 df["A"].cumsum()。这里,我们选中了DataFrame的A列(这会返回一个Pandas Series),然后直接调用其cumsum()方法。
  3. cumsum()方法会按顺序计算A列中每个元素的累积和。
    • 第一行:A的值为60,累积和为60。
    • 第二行:A的值为78,累积和为前一行累积和(60) + 当前A的值(78) = 138。
    • 依此类推。
  4. 最后,我们将cumsum()方法返回的Series(即累积和结果)赋值给DataFrame中的新列B。

输出结果:

Noya
Noya

让线框图变成高保真设计。

下载
原始DataFrame:
  field   A
0     u  60
1     v  78
2     w  42
3     x  61
4     y  36

计算累积和后的DataFrame:
  field   A    B
0     u  60   60
1     v  78  138
2     w  42  180
3     x  61  241
4     y  36  277

从输出可以看出,新列B成功地包含了A列的运行总计。

注意事项

  • 缺失值处理: cumsum()方法默认会跳过NaN(非数字)值,将其视为0进行计算,但如果后续值非NaN,计算会继续。如果希望NaN值导致累积和也为NaN,可以设置skipna=False。
  • 数据类型: cumsum()通常用于数值型数据。如果应用于非数值型数据,可能会引发错误或产生非预期的结果。
  • DataFrame级别的cumsum(): cumsum()也可以直接应用于整个DataFrame。在这种情况下,你需要指定axis参数。
    • axis=0(默认):按列计算累积和。
    • axis=1:按行计算累积和。
  • 其他累积函数: Pandas还提供了其他类似的累积计算函数,如cumprod()(累积乘积)、cummax()(累积最大值)、cummin()(累积最小值),它们的使用方式与cumsum()类似。

总结

Pandas的cumsum()方法提供了一种简洁而高效的方式来计算DataFrame或Series的累积和。通过将其应用于DataFrame的特定列并赋值给新列,我们可以轻松地为数据添加运行总计信息,这在许多数据分析场景中都至关重要。掌握这一功能将大大提升您在Pandas中进行数据转换和分析的能力。

相关专题

更多
Python 时间序列分析与预测
Python 时间序列分析与预测

本专题专注讲解 Python 在时间序列数据处理与预测建模中的实战技巧,涵盖时间索引处理、周期性与趋势分解、平稳性检测、ARIMA/SARIMA 模型构建、预测误差评估,以及基于实际业务场景的时间序列项目实操,帮助学习者掌握从数据预处理到模型预测的完整时序分析能力。

49

2025.12.04

数据类型有哪几种
数据类型有哪几种

数据类型有整型、浮点型、字符型、字符串型、布尔型、数组、结构体和枚举等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

298

2023.10.31

php数据类型
php数据类型

本专题整合了php数据类型相关内容,阅读专题下面的文章了解更多详细内容。

216

2025.10.31

mysql标识符无效错误怎么解决
mysql标识符无效错误怎么解决

mysql标识符无效错误的解决办法:1、检查标识符是否被其他表或数据库使用;2、检查标识符是否包含特殊字符;3、使用引号包裹标识符;4、使用反引号包裹标识符;5、检查MySQL的配置文件等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

179

2023.12.04

Python标识符有哪些
Python标识符有哪些

Python标识符有变量标识符、函数标识符、类标识符、模块标识符、下划线开头的标识符、双下划线开头、双下划线结尾的标识符、整型标识符、浮点型标识符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

271

2024.02.23

java标识符合集
java标识符合集

本专题整合了java标识符相关内容,想了解更多详细内容,请阅读下面的文章。

251

2025.06.11

c++标识符介绍
c++标识符介绍

本专题整合了c++标识符相关内容,阅读专题下面的文章了解更多详细内容。

121

2025.08.07

数据分析的方法
数据分析的方法

数据分析的方法有:对比分析法,分组分析法,预测分析法,漏斗分析法,AB测试分析法,象限分析法,公式拆解法,可行域分析法,二八分析法,假设性分析法。php中文网为大家带来了数据分析的相关知识、以及相关文章等内容。

454

2023.07.04

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.3万人学习

Django 教程
Django 教程

共28课时 | 2.6万人学习

MySQL 教程
MySQL 教程

共48课时 | 1.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号