Python熊猫系列下一个市场日期

时间:2017-12-29 19:09:55

标签: python pandas series

我有一只熊猫系列股票的收盘价,显示如下:

closingprice [DATE1]

date1

> 1/3/2017  151.732605 
  1/9/2017  152.910522 
  1/27/2017 153.945938
> 2/23/2017 167.495438 
  3/6/2017  158.808716 
  3/9/2017  157.894333
> 3/10/2017 157.513321 
  3/13/2017 156.7323 
  3/21/2017 158.856354
> 3/24/2017 158.132462 
  4/3/2017  158.780151 
  4/12/2017 162.085281

我需要查看30天后的收盘价,例如,我有2017-01-03,我需要有2017-02-02的收盘价。所以我做了:

date2 = date1 + pd.DateOffset(days = 30) 我有新的服务,如下所示:

closingprice [DATE2]

> 2/2/2017  159.731018 
  2/8/2017  160.418427 
  2/26/2017 NaN 
  3/25/2017 NaN
> 4/5/2017  159.065903 
  4/8/2017  NaN 
  4/9/2017  NaN

正如您所看到的,某些日期并非位于营业日期,而是以NaN身份提供给我。如果是这种情况,如果周末或假日30天,我如何获得下一个营业日期价格?例如:2月26日南方需要更换到2月27日的收盘价。

1 个答案:

答案 0 :(得分:0)

一个技巧是在每个日期添加30天,然后在每个日期添加 ./gradlew app:dependencies --configuration compile

BusinessDay

这不会对工作日产生影响,但会将周末日期转换为下周日发生的日期。 (注意"营业日"在这种情况下仅指周一至周五,没有任何类型的假期规定。)

来源:@ phil_20686回答这个问题:Pandas offset DatetimeIndex to next business if date is not a business day