pandas 我只需要从30-60天的数据集中筛选/复制/提取过去3天的数据

tvokkenx  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(213)

我有一个日期变量“interview_start”,它保存了唯一的记录开始日期。我只需要过滤过去3天的数据,包括今天的数据到另一个或相同的数据框中。我使用了下面的代码,它工作正常,但没有给我今天的数据,而是给我过去3天的数据。我也想包括今天的数据。

from datetime import datetime

today = date.today()

lastdayfrom = pd.to_datetime(today)

df = df.set_index('interview_start')

df = df.sort_index()

df= df.loc[lastdayfrom - pd.Timedelta(days=4):lastdayfrom].reset_index()

如何包括今天的数据呢?我试过(天**〈**4),但它给我的错误。然而,数据集是巨大的n变量和数据。
面试形式_开始

mklgxw1f

mklgxw1f1#

这不是最实用的方法,但您可以循环遍历 Dataframe 中的行,将每一行添加到新的 Dataframe 中,直到日期超出您的日期范围。
我假设您需要今天的数据+前三天的数据,例如17/11、16/11、15/11、14/11

from datetime import datetime, timedelta

valid_dates = []
today = datetime.now()
valid_dates.append(today.strftime('%Y-%m-%d'))

for i in range(1, 4):
    valid_dates.append(((today + timedelta(days=-i))).strftime('%Y-%m-%d'))

然后,您可以循环遍历 Dataframe ,添加

row['Date'] in valid_dates

新 Dataframe 。

相关问题