我有一个DataFrame df,其索引包含1997年到2011年1月份每天的日期时间:
In [164]: df
Out[164]:
Tavg
1997-01-01 20.48
1997-01-02 37.49
... ...
1997-01-31 37.49
1998-01-01 52.07
... ...
2011-01-30 35.51
2011-01-31 29.03
从另一个DataFrame,我想在每年对应于上一年12月31日的df中插入行;即具有索引的行
In [166]: prev_dates = pd.date_range('1996-12-31', '2010-12-31', freq=pd.DateOffset(years=1))
In [167]: prev_dates
Out[167]:
DatetimeIndex(['1996-12-31', '1997-12-31', '1998-12-31', '1999-12-31',
'2000-12-31', '2001-12-31', '2002-12-31', '2003-12-31',
'2004-12-31', '2005-12-31', '2006-12-31', '2007-12-31',
'2008-12-31', '2009-12-31', '2010-12-31'],
dtype='datetime64[ns]', freq='<DateOffset: kwds={'years': 1}>')
从这些行插入值后,我希望新的df看起来像
Tavg
1996-12-31 <new value>
1997-01-01 20.48
1997-01-02 37.49
... ...
1997-01-31 37.49
1997-12-31 <new value>
1998-01-01 52.07
... ...
2011-01-30 35.51
2011-01-31 29.03
但我似乎无法找到正确的方法来实现这一目标.
解决方法:
与工会重新结合
df.reindex(prev_dates.union(df.index))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。