我试图计算从十月的第一个星期一开始的周数。熊猫是否有任何函数或日期时间可以有效地进行计算?
米维
import pandas as pd
from datetime import date,datetime
df = pd.DataFrame({'date': pd.date_range('2021-10-01','2022-11-01',freq='1D')})
df['day_name'] = df['date'].dt.day_name()
df2 = df.head()
df2['Fiscal_Week'] = [52,52,52,1,1] # 2021-10-4 is monday, so for oct4, week is 1
# How to do it programatically for any year?
df2
date day_name Fiscal_Week
0 2021-10-01 Friday 52
1 2021-10-02 Saturday 52
2 2021-10-03 Sunday 52
3 2021-10-04 Monday 1
4 2021-10-05 Tuesday 1发布于 2022-05-06 15:29:46
将日期按天数转换为新年,它们使用标准的周一周号格式(%W):
df['Fiscal_Week'] = (
df['date'] + pd.DateOffset(days=91)
).dt.strftime('%W').astype(int).replace({0:None}).fillna(method='ffill'),
replace部分是必需的,因为前一年的剩余物被认为是第0周。前一周可能是52或53周,所以用NA代替,然后填写前进的https://stackoverflow.com/questions/72143687
复制相似问题