python 插入dataframe_python – 将日期插入DataFrame的行

这篇博客讨论如何将年度末尾的日期插入到一个已经存在的DataFrame中,特别是涉及1997年至2011年间每天的温度平均值数据。作者展示了如何使用pandas的`date_range`函数生成每年12月31日的日期,并尝试通过`reindex`方法合并这两个日期集。
摘要由CSDN通过智能技术生成

我有一个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='')

从这些行插入值后,我希望新的df看起来像

Tavg

1996-12-31

1997-01-01 20.48

1997-01-02 37.49

... ...

1997-01-31 37.49

1997-12-31

1998-01-01 52.07

... ...

2011-01-30 35.51

2011-01-31 29.03

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

解决方法:

与工会重新结合

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

9f7f06e8448c5b0b577beac87232ab11.png

标签:python,datetime,dataframe,pandas

来源: https://codeday.me/bug/20190623/1267148.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值