python – 在pandas dataframe中将单个列向前移动几个日期

python – 在pandas dataframe中将单个列向前移动几个日期,第1张

概述我想在以下数据帧中提前3天将列val中的所有值移动: 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 14 我想在以下数据帧中提前3天将列val中的所有值移动:

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,然后使用参数freq shift

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中将单个列向前移动几个日期所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192150.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存