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]
添加回答
舉報