晚上的小伙子,希望這個問題比我今年早些時候的第一個得到 -7 的問題要好?。ㄎ艺娴暮芨屑ぃ驗樗兄谕怀鑫业臒o知)我想要實現的是編寫一行巧妙的代碼,我可以在我工作的任何數據幀中調用它以獲得正確的周數或星期幾?,F在,請考慮以下數據框:import pandas as pdimport numpy as npdays = pd.date_range('01/01/2018', '01/04/2019', freq='D')df = pd.DataFrame({'Date': days})print(df.head(5)) Date0 2018-01-011 2018-01-022 2018-01-033 2018-01-044 2018-01-05現在,我想使用以下代碼行創建公司周數:請注意,我的公司使用財務日歷,所以 4 月是第 1 周,但第 1 天是星期六(精明的人可能已經知道我的問題)!所以對于 2018 年,31/03/18 實際上是我 2019 財政年度的第 1 周第 1 周,因為它是星期六,我們最多只能有 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 Week0 2018-01-31 441 2018-02-01 442 2018-02-02 44到目前為止一切都很好吧?所以讓我們檢查十二月dec = df.Date.dt.month == 12print(df.loc[dec].tail(5)) Date Week330 2018-12-27 39331 2018-12-28 39332 2018-12-29 -12333 2018-12-30 -12334 2018-12-31 -12問題,如果我理解這是 pd.Timedelta 試圖正確放置我的周數,但由于我的初始公式month >= 4被放置為 -12此外,3 月 31 日應該在第 1 周而不是第 53 周作為星期六。假設這是許多人可能已經從事過的一項非常常見的任務,有沒有人有一種方法或方式以 Pythonic 的方式來處理這個問題。我自己的解決方案是手動創建一個數據框并手動修復周、日和財政年度,放入 noSQL 或 SQL dB 并在每個 dF 中調用它并將周數合并到我的報告中。
嘗試寫幾行代碼來創建一個主日期查找表
慕工程0101907
2021-09-11 19:28:07