从数据框中选择最近的和最近的第 6 个月

时间:2021-02-13 18:39:19

标签: pandas dataframe date

我有一个包含 24 个月日期的数据框。如何创建仅包含数据框中最近一个月和最近第 6 个月/第 n 个月的新数据框。

1 个答案:

答案 0 :(得分:1)

您可以测试当前日期或当前日期减去 6 个月的年份和月份是否相等。

df = pd.DataFrame({"Date":pd.date_range(dt.date(2019,9,1), dt.date(2021,9,1), freq="M")})

t = pd.to_datetime("today")
td = t - pd.Timedelta(days=365//2)

mask = (df.Date.dt.year.eq(t.year) & df.Date.dt.month.eq(t.month)) | (df.Date.dt.year.eq(td.year) & df.Date.dt.month.eq(td.month))
df2 = df[mask]

print(df2)

输出

         Date
11 2020-08-31
17 2021-02-28
相关问题