pandas累加
时间: 2025-05-09 14:18:46 浏览: 21
### Pandas 累加函数 `cumsum` 的使用方法
在 Pandas 中,`cumsum()` 是用于计算累加值的一个重要函数。它能够沿着指定轴方向对 DataFrame 或 Series 进行累积求和操作[^1]。
#### 基本语法
以下是 `cumsum()` 方法的基本语法:
```python
DataFrame.cumsum(axis=None, skipna=True, *args, **kwargs)
```
- 参数说明:
- `axis`: 指定沿哪个轴进行运算,默认为 `0` 表示按列计算;设置为 `1` 则表示按行计算。
- 当 `axis=0` 时,会对每一列的数据逐行累加。
- 当 `axis=1` 时,会对每一行的数据逐列累加。
- `skipna`: 是否忽略 NaN 值,默认为 `True`。如果设为 `False` 并且遇到 NaN,则整个结果都会变为 NaN。
#### 示例代码
下面通过具体例子展示如何使用 `cumsum()` 实现累加功能:
假设有一个如下所示的 DataFrame 数据结构:
```python
import pandas as pd
data = {
'Product_A': [100, 300, 200, 250, 300],
'Product_B': [50, 100, 350, 200, 250]
}
index = ['1月', '2月', '3月', '4月', '5月']
df = pd.DataFrame(data=data, index=index)
print("原始数据:")
print(df)
```
运行上述代码会得到以下输出:
```
Product_A Product_B
1月 100 50
2月 300 100
3月 200 350
4月 250 200
5月 300 250
```
##### 按列累加 (`axis=0`)
执行按列累加的操作可以这样写:
```python
result_col_cumsum = df.cumsum(axis=0)
print("\n按列累加的结果 (axis=0):")
print(result_col_cumsum)
```
这会产生每列基于前几行数值逐步相加的效果。
##### 按行累加 (`axis=1`)
对于按照行来累加的情况可采用这种方式编写程序:
```python
result_row_cumsum = df.cumsum(axis=1)
print("\n按行累加的结果 (axis=1):")
print(result_row_cumsum)
```
此命令将会把同一行内的各单元格依次叠加起来形成新的表格形式。
除了 `cumsum()` 外,还有其他类似的累计统计函数可供选择,比如 `cummax()` 计算累计最大值、`cummin()` 获取累计最小值以及 `cumprod()` 完成累乘任务等[^5]。
### 注意事项
当存在缺失值(NaN)的情况下,可以通过调整参数 `skipna=False` 来观察其影响效果。通常情况下我们希望跳过这些异常点以免干扰正常分析流程。
阅读全文
相关推荐


















