datetime val val_b12/20/2010 2312/21/2010 1212/22/2010 23 2712/23/2010 2612/24/2010 2812/25/2010 1712/26/2010 2612/27/2010 21 1412/28/2010 2012/29/2010 1812/30/2010 15 2212/31/2010 201/1/2011 131/2/2011 12 301/3/2011 251/4/2011 151/5/2011 191/6/2011 14
我尝试使用pd.DateOffset函数,但是hat会提前移动所有列,我不希望这样.
解决方法 首先创建DatetimeIndex,然后使用参数freqshift
: df['datetime'] = pd.to_datetime(df['datetime'])df = df.set_index('datetime')df['val'] = df['val'].shift(3,freq='d')print (df) val val_bdatetime 2010-12-20 NaN 232010-12-21 NaN 122010-12-22 NaN 272010-12-23 NaN 262010-12-24 NaN 282010-12-25 23.0 172010-12-26 NaN 262010-12-27 NaN 142010-12-28 NaN 202010-12-29 NaN 182010-12-30 21.0 222010-12-31 NaN 202011-01-01 NaN 132011-01-02 15.0 302011-01-03 NaN 252011-01-04 NaN 152011-01-05 12.0 192011-01-06 NaN 14总结
以上是内存溢出为你收集整理的python – 在pandas dataframe中将单个列向前移动几个日期全部内容,希望文章能够帮你解决python – 在pandas dataframe中将单个列向前移动几个日期所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)