在Pandas dataframe中,我需要更改特定列中的所有闰日单元格(它们应该更改为2月28日)。因此,例如,2020/02/29应改为2020/02/28。
我试过以下几种方法,但没有奏效:
df.loc[((df['Date'].dt.month == 2) & (df['Date'].dt.day == 29)), 'Date'] = df['Date'] + timedelta-(1)有什么想法吗?谢谢
发布于 2022-05-21 10:34:52
您可以使用np.where
df["Date"] = np.where((df["Date"].dt.month == 2) & \
(df["Date"].dt.day == 29),
df["Date"] - pd.DateOffset(days=1),
df["Date"])如果仔细观察,您已经编写了返回错误的+ timedelta-(1)。如果您使用您的方法,而不是编写+ timedelta(-1),则可以很好地工作。
https://stackoverflow.com/questions/72328598
复制相似问题