gpt4 book ai didi

python - pandas:如何生成新列以获取另一列的最后日期时间值

转载 作者:行者123 更新时间:2023-12-01 00:09:13 25 4
gpt4 key购买 nike

我有一个如下所示的数据框:

obj_id   data_date   value
4 2010-11-01 59500
2 2011-10-01 35200
4 2012-07-31 24860
1 2013-07-28 15860
2 2014-10-15 200200

如何生成一个新列来记录对象的最后时间值?如果某个对象以前没有出现过,则应将默认值设置为 0。输出应如下所示:

obj_id   data_date   value    last_value
4 2010-11-01 59500 0
2 2011-10-01 35200 0
4 2012-07-31 24860 59500
1 2013-07-28 15860 0
2 2014-10-15 200200 35200

最佳答案

您需要groupby().shift()

df['last_value'] = df.groupby('obj_id')['value'].shift(fill_value=0)

输出:

   obj_id   data_date   value  last_value
0 4 2010-11-01 59500 0
1 2 2011-10-01 35200 0
2 4 2012-07-31 24860 59500
3 1 2013-07-28 15860 0
4 2 2014-10-15 200200 35200

关于python - pandas:如何生成新列以获取另一列的最后日期时间值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59743088/

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