我有一个包含 24 个月日期的数据框。如何创建仅包含数据框中最近一个月和最近第 6 个月/第 n 个月的新数据框。
答案 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