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

如何在Pandas DataFrame中创建新列存储下一行的日期值

解决方法:用pandas的shift()方法生成下一行日期列

嘿,这个需求其实很简单,用pandas内置的shift()函数就能完美实现!下面是具体的代码步骤:

首先,先构造你提供的样本DataFrame:

import pandas as pd

data = {
    'No': [20, 20, 20, 20, 20],
    'FlNo': [1826, 1112, 1234, 43, 1840],
    'DATE': ['6/1/2017', '6/4/2017', '6/6/2017', '6/7/2017', '6/8/2017'],
    'Loc': ['AAA', 'BBB', 'CCC', 'DDD', 'EEE']
}
df = pd.DataFrame(data)

接下来,直接添加"New Date"列,利用shift(-1)把下一行的DATE值移到当前行:

df['New Date'] = df['DATE'].shift(-1)

执行完这段代码后,你的DataFrame就会变成你期望的样子:

NoFlNoDATELocNew Date
2018266/1/2017AAA6/4/2017
2011126/4/2017BBB6/6/2017
2012346/6/2017CCC6/7/2017
20436/7/2017DDD6/8/2017
2018406/8/2017EEENaN

简单解释一下:shift(-1)的作用是将整个列向上移动一位(也就是取后一行的值),所以最后一行没有下一行数据,自然就填充为NaN,完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:02:15