首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果日期是闰日(29-2月b),则改为28-2月

如果日期是闰日(29-2月b),则改为28-2月
EN

Stack Overflow用户
提问于 2022-05-21 10:11:18
回答 1查看 73关注 0票数 -2

在Pandas dataframe中,我需要更改特定列中的所有闰日单元格(它们应该更改为2月28日)。因此,例如,2020/02/29应改为2020/02/28。

我试过以下几种方法,但没有奏效:

代码语言:javascript
运行
复制
df.loc[((df['Date'].dt.month == 2) & (df['Date'].dt.day == 29)), 'Date'] = df['Date'] + timedelta-(1)

有什么想法吗?谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2022-05-21 10:34:52

您可以使用np.where

代码语言:javascript
运行
复制
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),则可以很好地工作。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72328598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档