假设我有一个包含多列的pandas数据框架——就像这样
targetName ... atRiskCommonPurchased
0 Twitter, Inc. ... NaN
1 Forbes Media ... NaN
2 Adobe ... NaN
3 Virgin Airlines ... NaN
4 H&M ... NaN
[5 rows x 51 columns]
数据帧中还有一列日期
df['dealAnnouncementDate'].dtype
dtype('O')
print(df['dealAnnouncementDate'])
0 2021-08-30
1 2021-08-26
2 2021-08-25
3 2021-08-23
4 2021-08-18
使用df.between()
,我可以很容易地使用日期列过滤数据框并获得结果。df[df['dealAnnouncementDate'].between('7/27/2021', '8/27/2021')]
但是,我会每隔7天运行python脚本(例如星期一),我如何确保使用dealAnnouncementDate
列我得到7天的过滤结果?请帮助我了解如何做到这一点!谢谢!
如果需要在某些日期之间进行过滤,例如现在和未来7天使用:
df['dealAnnouncementDate'] = pd.to_datetime(df['dealAnnouncementDate'])
now = pd.to_datetime('now').normalize()
print (now)
2021-08-31 00:00:00
df[df['dealAnnouncementDate'].between(now, now + pd.Timedelta('7days'))]
过去7天:
df[df['dealAnnouncementDate'].between(now - pd.Timedelta('7days'), now )]