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

如何使用Pandas将下一行X/Y列值填充到上一行X2/Y2列?

用Pandas实现列值下移填充

你需要的是将X、Y列的内容向下偏移一行后填充到X2、Y2列,Pandas的shift()方法可以直接实现这个需求:

步骤示例

  1. 先模拟对应的数据结构:
import pandas as pd

data = {
    'Name': ['Anton', 'Brad', 'Mikel', 'Sofia'],
    'X': [10, 20, 30, 40],
    'Y': [100, 200, 300, 400],
    'X2': [None, None, None, None],
    'Y2': [None, None, None, None]
}
df = pd.DataFrame(data)
  1. 使用shift(-1)方法将X、Y列下移一行,赋值给X2、Y2:
df['X2'] = df['X'].shift(-1)
df['Y2'] = df['Y'].shift(-1)

执行后结果完全匹配你的需求:

  • Anton的X2、Y2会填充Brad的X、Y值(20、200)
  • Brad的X2、Y2会填充Mikel的X、Y值(30、300)
  • Mikel的X2、Y2会填充Sofia的X、Y值(40、400)
  • Sofia的X2、Y2因为没有下一行数据,会显示NaN

如果需要替换最后一行的NaN,可以用fillna()补充自定义值:

df[['X2', 'Y2']] = df[['X2', 'Y2']].fillna(0)  # 替换为0,可根据需求修改

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 06:28:13