python - 在 Python 中向 pandas 对象添加月份

标签 python python-3.x pandas loops date

我有这个数据框对象:

    Date
2018-12-14
2019-01-11
2019-01-25
2019-02-08
2019-02-22
2019-07-26

如果可能的话,我想要的是添加例如:日期 3 个月,然后新日期 3 个月(原始日期 + 3 个月) code> 并重复此 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-string 循环来获取新列名称:

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

或者:

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

关于python - 在 Python 中向 pandas 对象添加月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53042314/

相关文章:

python - 使用文本文件中的数据创建数组 (NumPy)

python - scipy.optimize.curve_fit 不适合数据

python-3.x - 为什么我的 python 不适用于 seaborn

python - 根据列中值的频率对 Pandas 数据框进行分组并用逗号连接字符串

python - 从 Pandas DataFrame 中选择与另一个 DataFrame 中的列值完全相同的行

python - 如何在 C[++] 中实现 __delitem__ 和 __delslice__?

python - 如果某一列相同,则将一行中的空值与其他行归入空值

python - 如何在 tkinter 窗口中显示视频预览

python - 如何通过python将多页数据导出到excel?

python - 如何在 pandas 的 fillna 中使用 math.sin()