gpt4 book ai didi

python - 将日期插入 DataFrame 的行中

转载 作者:太空狗 更新时间:2023-10-30 02:56:10 24 4
gpt4 key购买 nike

我有一个 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 中,我想将行插入到 df 对应于每年的前一年的 12 月 31 日;即,具有索引的行

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

但我似乎无法找到实现这一目标的正确方法。

最佳答案

reindexunion

df.reindex(prev_dates.union(df.index))

enter image description here

关于python - 将日期插入 DataFrame 的行中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40312722/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com