为了账号安全,请及时绑定邮箱和手机立即绑定

Python:根据数据框中的现有列添加带有日期的新列

Python:根据数据框中的现有列添加带有日期的新列

Qyouu 2023-05-09 09:35:16
有一个带有值的 df:   name        date0   tom  01-07-20061   tom  07-07-20062   tom  13-07-20063   tom  19-07-20064  mark  01-07-20065  mark  07-07-20066  mark  13-07-20067  mark  19-07-2006如何添加min date最小日期 + 1 的列预期输出:   name        date  min date0   tom  01-07-2006  02-07-20061   tom  07-07-2006  02-07-20062   tom  13-07-2006  02-07-20063   tom  19-07-2006  02-07-20064  mark  02-07-2006  03-07-20065  mark  07-07-2006  03-07-20066  mark  13-07-2006  03-07-20067  mark  19-07-2006  03-07-2006
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

将列转换为日期时间,然后通过以下方式获得每组最小值GroupBy.transform并最后添加 1 天Timedelta

df['date'] = pd.to_datetime(df['date'], dayfirst=True)


df['min date'] = df.groupby('name')['date'].transform('min') + pd.Timedelta(1, 'd')

print (df)

   name       date   min date

0   tom 2006-07-01 2006-07-02

1   tom 2006-07-07 2006-07-02

2   tom 2006-07-13 2006-07-02

3   tom 2006-07-19 2006-07-02

4  mark 2006-07-02 2006-07-03

5  mark 2006-07-07 2006-07-03

6  mark 2006-07-13 2006-07-03

7  mark 2006-07-19 2006-07-03


查看完整回答
反对 回复 2023-05-09
  • 1 回答
  • 0 关注
  • 86 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信