如何返回pd.DatetimeIndex中缺少月份的NaN

2024-04-19 16:15:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个包含一些不完整日期的数据集。即,虽然默认值为“2020-03-20”,但某些日期仅包含年份(即2020年)

在这些情况下(仅限年份),似乎pd.DatetimeIndex(["2020"]).month[or day]会将01-01的月份和日期自动设置为01。我宁愿让它返回一个NaN。我觉得这应该是相当容易做到的,但我似乎无法通过谷歌找到一种方法。任何关于如何解决这一问题的建议都将不胜感激

有没有一种方法可以很容易地识别"year only"日期,这样我在计算月份时就可以跳过它们

谢谢


1条回答
网友
1楼 · 发布于 2024-04-19 16:15:48

请查看下面的解决方案,这是解决此问题的一种方法。 假设您有一个数据帧-

df=pd.DataFrame({"Date":["2020-02-01","2020-01-01","2020"]})

通过以下代码行创建另一列“Count”——

df.loc[:,"Count"]=df.loc[:,"Date"].apply(lambda x: len(x.split('-')))

现在,您可以轻松地分离具有完整日期或仅具有年份的值。下一行显示月份、日期或年份的指数

indices=df[df.loc[:,"Count"]==1].index

相关问题 更多 >