[英]Python : Add a new column with date based on existing column in dataframe
have a df with values:有一个带有值的df:
name date
0 tom 01-07-2006
1 tom 07-07-2006
2 tom 13-07-2006
3 tom 19-07-2006
4 mark 01-07-2006
5 mark 07-07-2006
6 mark 13-07-2006
7 mark 19-07-2006
How to add a column min date
which is minimum of date + 1如何添加min date
的列最小日期+ 1
expected_output:预期输出:
name date min date
0 tom 01-07-2006 02-07-2006
1 tom 07-07-2006 02-07-2006
2 tom 13-07-2006 02-07-2006
3 tom 19-07-2006 02-07-2006
4 mark 02-07-2006 03-07-2006
5 mark 07-07-2006 03-07-2006
6 mark 13-07-2006 03-07-2006
7 mark 19-07-2006 03-07-2006
Convert column to datetimes, then get minimal per groups by GroupBy.transform
and last add 1 day by Timedelta
:将列转换为日期时间,然后通过GroupBy.transform
Timedelta
1 天:
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.