第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pandas 在計算相應的最后一個工作日時更改月份

Pandas 在計算相應的最后一個工作日時更改月份

BIG陽 2023-07-11 15:09:26
在下面的pandas數(shù)據(jù)框示例中,MyDate由該月的第一天和該月的最后一個 工作日組成。數(shù)據(jù)集將始終運行到 1st (current month - 1)。我想將 MyDate 動態(tài)增加一個月。然而,這樣做后,最后一個工作日就不再是正確的了。因此,我還想根據(jù)更新的月份計算最后一個工作日。輸入:MyDate       MyValue 31/Mar/2020  001/Apr/2020  a30/Apr/2020  b01/May/2020  c29/May/2020  d <<< note 29 May - last workday of month01/Jun/2020  e30/Jun/2020  f01/Jul/2020  g31/Jul/2020  h01/Aug/2020  i期望的輸出:MyDate       MyValue 30/Apr/2020  001/May/2020  a29/May/2020  b <<< note 29 May - last workday of month01/Jun/2020  c30/Jun/2020  d 01/Jul/2020  e31/Jul/2020  f01/Aug/2020  g31/Aug/2020  h01/Sep/2020  i我將問題分為兩部分:更改month為month+1- 使用relativedelta獲取更改月份的最后一個工作日 - 使用pd.offsets.BMonthEnd(),但不知怎的,盡管我嘗試了在 stackoverflow 上發(fā)布的類似解決方案,但我還是陷入了#2。這是我的代碼:import pandas as pdfrom dateutil.relativedelta import relativedelta...# this solves part #1df['MyDate']=df['MyDate'].dt.date + relativedelta(months=+1)# attempt at solving part 2df['MyDate']=pd.to_datetime(df['MyDate'])mask = df['MyDate'].dt.day > 1df.loc[mask, 'MyDate'] = df['MyDate'] + pd.offsets.BMonthEnd(1)最后一行是我被困住的地方;顯然它不會產(chǎn)生我認為會產(chǎn)生的結果......任何解決此問題的幫助,或解決整個問題的不同“熊貓式”方法,將不勝感激。
查看完整描述

1 回答

?
蕪湖不蕪

TA貢獻1796條經(jīng)驗 獲得超7個贊

您可以創(chuàng)建一個布爾掩碼來標識列中的業(yè)務月末日期MyDate(業(yè)務月末日期返回True,其他返回False)。使用此掩碼分別添加 1 個月初和 1 個營業(yè)月末


m = df.MyDate == (df.MyDate + pd.offsets.BMonthEnd(0))

df.loc[m, 'MyDate']  = df.loc[m, 'MyDate'] +  pd.offsets.BMonthEnd(1)

df.loc[~m, 'MyDate'] = df.loc[~m, 'MyDate'] +  pd.offsets.MonthBegin(1)


print(df)


Output:

      MyDate MyValue

0 2020-04-30       0

1 2020-05-01       a

2 2020-05-29       b

3 2020-06-01       c

4 2020-06-30       d

5 2020-07-01       e

6 2020-07-31       f

7 2020-08-01       g

8 2020-08-31       h

9 2020-09-01       i

注意:我假設你的MyDate專欄已經(jīng)在dtype: datetime64[ns]


查看完整回答
反對 回復 2023-07-11
  • 1 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號