【发布时间】:2022-01-05 12:36:08
【问题描述】:
2021 年的最后一周在 pandas.date_range() 函数中指定为 2022,而除周六和周日(1 月 1 日和 2 日)外,其余日子都属于 2021 年。
import pandas as pd
for x in pd.date_range(start='2021-12-01', end='2022-01-04', freq='W'):
print('date: ', x, '\tweek: ', x.week, '\tyear: ', x.year)
Output:
date: 2021-12-05 00:00:00 week: 48 year: 2021
date: 2021-12-12 00:00:00 week: 49 year: 2021
date: 2021-12-19 00:00:00 week: 50 year: 2021
date: 2021-12-26 00:00:00 week: 51 year: 2021
date: 2022-01-02 00:00:00 week: 52 year: 2022
输出是有道理的,但是,这在我使用的过滤下不起作用:
df[(df['date'].year == x.year) & (df['date'].week == x.week)]
目前这个问题已经用创可贴解决了,但希望明年能完全发挥作用。
【问题讨论】:
标签: python pandas date datetime