新手求助:如何为DataFrame特定列生成累加行和?
为DataFrame特定列计算累加行和
问题说明
你需要为DataFrame的Column B列计算逐行累加和,生成新的Result列,示例如下:
输入DataFrame:
| Column A | Column B |
|---|---|
| AA | 24 |
| BB | 37 |
| CC | 59 |
期望输出DataFrame:
| Column A | Column B | Result |
|---|---|---|
| AA | 24 | 24 |
| BB | 37 | 61 |
| CC | 59 | 120 |
解决方案
你之前尝试的sum()函数是计算整列的总和,只会得到单一值,无法实现逐行累加。Pandas提供了专门的cumsum()方法,正好满足你的需求,步骤如下:
- 先安装并导入pandas库(未安装的话执行
pip install pandas) - 创建或加载你的目标DataFrame
- 调用
cumsum()生成累加列
完整代码示例
import pandas as pd # 创建输入DataFrame(如果是自己的数据源,替换成读取数据的代码即可) df = pd.DataFrame({ 'Column A': ['AA', 'BB', 'CC'], 'Column B': [24, 37, 59] }) # 计算Column B的逐行累加和,生成Result列 df['Result'] = df['Column B'].cumsum() # 查看最终结果 print(df)
代码解释
df['Column B'].cumsum():对Column B的元素进行逐行累加,返回一个和原列长度一致的Series,每个位置的值是从第一行到当前行的所有元素之和- 将这个Series赋值给新列
Result,就能得到你想要的结果
内容的提问来源于stack exchange,提问作者Sunny Varma
相关产品推荐
相关产品推荐

