小编Uma*_*ain的帖子

尝试编写几行代码来创建主日期查找表

希望,这个问题比我今年早些时候的第一个问题好得多了-7!(其中我真的很感激,因为它有助于突出我的无知)

我想要实现的是编写一个简单的代码行,我可以在我工作的任何数据帧中调用以获得正确的周数或星期几.

目前,请考虑以下数据框:

import pandas as pd
import numpy as np

days = pd.date_range('01/01/2018', '01/04/2019', freq='D')
df = pd.DataFrame({'Date': days})
print(df.head(5))
    Date
0   2018-01-01
1   2018-01-02
2   2018-01-03
3   2018-01-04
4   2018-01-05
Run Code Online (Sandbox Code Playgroud)

现在,我想使用以下代码行创建公司周数:

请注意我的公司使用金融日历,所以4月是第1周,但第1天是星期六(你们中间的精明人员可能已经知道我的问题了)!因此,对于2018年,31/03/18实际上是我的第1周第1周财政年度2019年周六,我们最多只有53周.

df['Week'] = np.where(df['Date'].dt.month >= 4, (df['Date'] + pd.Timedelta(days=2)).dt.week - 13,
                   (df['Date'] + pd.Timedelta(days=2)).dt.week + 39)
print(df)


    Date        Week
0   2018-01-31  44
1   2018-02-01  44
2   2018-02-02  44
Run Code Online (Sandbox Code Playgroud)

到目前为止一切都好吗?

所以让我们检查12月

dec = df.Date.dt.month == 12
print(df.loc[dec].tail(5))
    Date    Week
330 2018-12-27  39
331 2018-12-28  39
332 …
Run Code Online (Sandbox Code Playgroud)

python datetime pandas

6
推荐指数
1
解决办法
114
查看次数

标签 统计

datetime ×1

pandas ×1

python ×1