您可以根据
period
期间
日期(-1,因此它从0开始)。然后,从你的
start_date
,可以将其定义为datetime对象,将timedelta添加到开始日期:
start_date = pd.to_datetime('1/1/2018')
df['date'] = pd.to_timedelta(df['period'] - 1, unit='D') + start_date
>>> df
period custid date
0 1 1 2018-01-01
1 2 1 2018-01-02
2 3 1 2018-01-03
3 1 2 2018-01-01
4 2 2 2018-01-02
5 1 3 2018-01-01
6 2 3 2018-01-02
7 3 3 2018-01-03
8 4 3 2018-01-04
编辑
:在您的评论中,您说您试图添加月,而不是天。为此,您可以使用您的方法,或者也可以使用以下方法:
from pandas.tseries.offsets import MonthBegin
df['date'] = start_date + (df['period'] -1) * MonthBegin()