在删除the日之后,为什么大熊猫Dayofyear返回366行?

时间:2019-03-28 08:55:42

标签: python pandas

我有一个数据框,其中包含11年的最高和最低温度数据(2005年至2015年)。我正在尝试查找十年中一年中每一天的最高和最低温度。

我从数据中删除了2个leap日,即2008-02-29和2012-02-29,但是当我对数据应用dayofyear时,它返回366行,所以我不知道为什么。

我已经分解了步骤并测试了每个部分。当我应用dayofyear

时,日绝对不在数据框中

删除removed日并使用以下命令进行检查后:    dfmax['2008-02-26':'2008-03-02']

2月29日不存在。

下一步是按日期汇总日期以获取最高温度:

maxtemp = dfmax.groupby(dfmax.index.dayofyear).aggregate(max)

和来自     maxtemp.info()

我明白了:

Int64Index:366个条目,从1到366

我希望有365个条目。我在做什么错了?

1 个答案:

答案 0 :(得分:0)

Pandas地图上的dayofyear属性与索引中实际存在的日期无关。它是根据日历中当天的位置分配的整数。

换句话说,2008年12月31日总是 ALWAYS 366,无论该指数的其余部分如何。因此,如果您查看的是2008年(le年),而您删除了2月的最后一天,则只会从集合中删除数字60,而不会重置计数。

根据文档:

  

此属性返回特定年份的日期   日期发生。常规的返回值范围是1到365之间   年,1年为1到366。