gpt4 book ai didi

python - pandas - 根据 'next' 行值创建新列

转载 作者:太空宇宙 更新时间:2023-11-04 09:39:28 26 4
gpt4 key购买 nike

我有以下数据框:

   date      country   
6/1/18 USA
6/1/18 BEL
6/4/18 USA
6/5/18 BEL
6/6/18 USA

我想创建一个列,告诉您相应国家/地区的下一个日期是什么时候。如果有帮助,您可以假设日期是有序的。如果该日期是该国家/地区的最后一个日期,您可以填写相同日期或空值的下一个日期。

   date      country   next_date
6/1/18 USA 6/4/18
6/1/18 BEL 6/5/18
6/4/18 USA 6/6/18
6/5/18 BEL 6/5/18
6/6/18 USA 6/6/18

最佳答案

您可以使用 groupbyshift 来填充下一个可用值,但是,这将留下没有下一个可用日期的行为 NaN:

df.assign(ndate=df.groupby('country').date.shift(-1))

     date country   ndate
0 6/1/18 USA 6/4/18
1 6/1/18 BEL 6/5/18
2 6/4/18 USA 6/6/18
3 6/5/18 BEL NaN
4 6/6/18 USA NaN

如果您想用最后一次看到的日期填充这些值,您可以简单地用您的datefillna/strong>专栏:

df.assign(ndate=df.groupby('country').date.shift(-1)).fillna({'ndate': df.date})

     date country   ndate
0 6/1/18 USA 6/4/18
1 6/1/18 BEL 6/5/18
2 6/4/18 USA 6/6/18
3 6/5/18 BEL 6/5/18
4 6/6/18 USA 6/6/18

关于python - pandas - 根据 'next' 行值创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52210812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com