有一個帶有值的 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條經(jīng)驗 獲得超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
添加回答
舉報
0/150
提交
取消