我有一个带有日期栏的数据框,如下所示。
df = pd.DataFrame({'Date':pd.date_range('2018-10-01', periods=14)})
我想根据日期附加星期数列,因此看起来像
所以2018-10-01将是第1周,而7天之后的2018-10-08将是第2周,依此类推。
任何帮助我如何执行此操作?
答案 0 :(得分:3)
将weekday
与factorize
配合使用,并为从1
开始的组添加1
:
df['Week'] = pd.factorize(df['Date'].dt.weekofyear)[0] + 1
print (df)
Date Week
0 2018-10-01 1
1 2018-10-02 1
2 2018-10-03 1
3 2018-10-04 1
4 2018-10-05 1
5 2018-10-06 1
6 2018-10-07 1
7 2018-10-08 2
8 2018-10-09 2
9 2018-10-10 2
10 2018-10-11 2
11 2018-10-12 2
12 2018-10-13 2
13 2018-10-14 2