在Python中向pandas对象添加月份

在Python中向pandas对象添加月份,python,python-3.x,pandas,loops,date,Python,Python 3.x,Pandas,Loops,Date,我有一个dataframe对象: Date 2018-12-14 2019-01-11 2019-01-25 2019-02-08 2019-02-22 2019-07-26 我想要的是,如果可能的话,增加例如:3个月的日期,然后3个月的新日期原始日期+3个月,并重复x次。我正在使用pd.offsets.MonthOffset,但这只会增加一次月数,我需要做更多次。 我不知道这是否可能,但任何帮助都是完美的。 非常感谢您抽出时间。 预期产量为1个月加2次: [[2019-01-14,

我有一个dataframe对象:

    Date
2018-12-14
2019-01-11
2019-01-25
2019-02-08
2019-02-22
2019-07-26
我想要的是,如果可能的话,增加例如:3个月的日期,然后3个月的新日期原始日期+3个月,并重复x次。我正在使用pd.offsets.MonthOffset,但这只会增加一次月数,我需要做更多次。 我不知道这是否可能,但任何帮助都是完美的。
非常感谢您抽出时间。 预期产量为1个月加2次:

[[2019-01-14, 2019-02-11, 2019-02-25, 2019-03-08, 2019-03-22,  2019-08-26],[2019-02-14, 2019-03-11, 2019-03-25, 2019-04-08, 2019-04-22,  2019-09-26]]

我相信对于新的列名,您需要使用f字符串进行循环:

for i in range(1,4):
    df[f'Date_added_{i}_months'] = df['Date'] + pd.offsets.MonthBegin(i)
print (df)
        Date Date_added_1_months Date_added_2_months Date_added_3_months
0 2018-12-14          2019-01-01          2019-02-01          2019-03-01
1 2019-01-11          2019-02-01          2019-03-01          2019-04-01
2 2019-01-25          2019-02-01          2019-03-01          2019-04-01
3 2019-02-08          2019-03-01          2019-04-01          2019-05-01
4 2019-02-22          2019-03-01          2019-04-01          2019-05-01
5 2019-07-26          2019-08-01          2019-09-01          2019-10-01
或:

如果你的日期是对象,那应该很简单。您只需创建一个3个月的时间增量,并将其添加到每个日期

或者,您可以使用.strtime将它们转换为日期对象,然后执行建议的操作。您可以使用.strftime将它们转换回字符串。

我希望这有帮助

from dateutil.relativedelta import relativedelta
month_offset = [3,6,9]
for i in month_offset:
    df['Date_plus_'+i+'_months'] = df['Date'].map(lambda x: x+relativedelta(months=i))

分享您的预期成果。@MayankPorwal完成谢谢您非常感谢@NotAnAmbiTurner
from dateutil.relativedelta import relativedelta
month_offset = [3,6,9]
for i in month_offset:
    df['Date_plus_'+i+'_months'] = df['Date'].map(lambda x: x+relativedelta(months=i))