需要上个月的数据以及上个月的额外 10 天数据和当月的 3 天数据

Need last month's data with additional 10 days of data from previous month and 3 days of data from the current month

我想拉取从 4 月 1 日到 4 月 30 日的最后一个月的数据。但另外还需要上个月的 10 天数据(3 月 21 日之后的任何数据)和当月的 3 天数据(5 月 1 日 - 5 月 3 日)。我写了下面的代码,它将提取 4 月份的数据,但很难提取 3 月份和 5 月份的数据。这是每月的脚本,所以想写一个代码,它会查看当前月份,然后根据上述逻辑检索数据。

有人可以指导我吗?

import datetime
df["Sent_Date"] = pd.to_datetime(df["Sent_Date"])

from datetime import date, timedelta
#strategy_assignemnt.info()
#Create a last_day_of_the_previous_month variable which will read the system date, then  replace it with the day 1 of the current month and set the timedelta which will consider the last month of the last date
last_day_of_the_previous_month = date.today().replace(day = 1)- timedelta(days= 1)
#Create a first_day_of_the_previous_month variable which will read the system date, then  replace it with the day 1 of the current month and set the timedelta which will consider the last month of the last date
first_day_of_the_previous_month = date.today().replace(day = 1) - timedelta(last_day_of_the_previous_month.day)
first_day_of_the_previous_month = pd.to_datetime(first_day_of_the_previous_month).strftime ('%Y-%m-%d')
last_day_of_the_previous_month = pd.to_datetime(last_day_of_the_previous_month).strftime ('%Y-%m-%d')

使用相同的计算得到上个月前 10 天和本月 3 天

import datetime
from datetime import date, timedelta

prev_month_last = date.today().replace(day=1) - timedelta(days=1)
prev_month_first = prev_month_last.replace(day=1)
prev_month_prev_10days_start = prev_month_first - timedelta(days=10)
prev_month_prev_10days_end = prev_month_first - timedelta(days=1)
curr_month_3days_start = date.today().replace(day=1)
curr_month_3days_end = curr_month_3days_start + timedelta(days=2)

print(f'Previous month start date: {prev_month_first} & end {prev_month_last}')
print(f'Ten days before previous month start date: {prev_month_prev_10days_start} & end {prev_month_prev_10days_end}')
print(f'Current month 3days start {curr_month_3days_start} & end {curr_month_3days_end}')