首页 > 解决方案 > 基于 Python 中的日期偏移量更新列

问题描述

我正在尝试更新包含许多日期的数据集中的列。如果日期在(数据集的)最近 3 个月内,那么我想更新一个显示“最近 3 个月”的列

我想我需要使用这个:

today = date.today()
offsetweek = today - pd.offsets.Week(8)
df = df1[Date >= offsetweek]

但是,date.today()仅查看当前日期而不是我的数据集中的最大日期,并从那里进行偏移。

示例输出

输出

有人可以建议我如何实现这一目标吗?

标签: pandas

解决方案


获取最大日期:

maxdate = df['Date'].max()

使用 offset.MonthBegin:

offsetby3months = maxdate - pd.offsets.MonthBegin(4)

使用 np.where:

df['Last 3 Months'] = np.where(df['Date'] >= offsetby3months, 'Last 3 Months', '')

推荐阅读