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

如何基于Pandas DataFrame中某列的连续两行生成新列

从Pandas DataFrame的列A生成列B的方法

根据你提供的规则和示例数据,列B的生成逻辑为:

  • 第1行的B值等于第1行的A值
  • 从第2行开始,每行的B值等于上一行的A值加上当前行的A值

代码实现

首先构造示例DataFrame:

import pandas as pd

df = pd.DataFrame({'A': [1, 1, 2, 5]})

方法一:使用shift()方法

# 初始化B列为A列的副本
df['B'] = df['A']
# 更新第2行及以后的B值
df.loc[1:, 'B'] = df['A'].shift(1) + df['A']

方法二:通过切片直接计算

df['B'] = df['A'].copy()
# 取A列除最后一行外的部分,与除第一行外的部分相加,赋值给B列从第二行开始的位置
df['B'].iloc[1:] = df['A'].iloc[:-1] + df['A'].iloc[1:]

执行上述代码后,DataFrame的B列将得到预期结果:[1, 2, 3, 7]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 08:10:53