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

如何创建一列,使其值为另一列的上一行值?

解决方案:创建以上一行col_b值为内容的新列

你可以使用pandas的shift()函数实现需求,shift(1)会将col_b的元素向下偏移一行,再把第一行的缺失值替换为col_b的首个值即可。

代码示例

import pandas as pd

# 构造原始数据集
data = {
    'col_a': ['x', 'y', 'z', 'k', 'H'],
    'col_b': [189, 33, 0, 837, 33]
}
df = pd.DataFrame(data)

# 创建目标新列
df['new_col'] = df['col_b'].shift(1).fillna(df['col_b'].iloc[0])

执行结果

col_acol_bnew_col
x189189.0
y33189.0
z033.0
k8370.0
H33837.0

如果需要将new_col转为整数类型,可添加一行代码:

df['new_col'] = df['new_col'].astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 18:51:04