我有一个数据框,其中包含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个条目。我在做什么错了?
答案 0 :(得分:0)
Pandas地图上的dayofyear属性与索引中实际存在的日期无关。它是根据日历中当天的位置分配的整数。
换句话说,2008年12月31日总是 ALWAYS 366,无论该指数的其余部分如何。因此,如果您查看的是2008年(le年),而您删除了2月的最后一天,则只会从集合中删除数字60,而不会重置计数。
根据文档:
此属性返回特定年份的日期 日期发生。常规的返回值范围是1到365之间 年,1年为1到366。