pandas之shift()函数

举报
tea_year 发表于 2021/12/29 22:50:17 2021/12/29
【摘要】 shift函数是对数据进行移动的操作,假如现在有一个DataFrame数据df,如下所示:index value1A 0B 1C 2D 3 那么如果执行以下代码: df.shift() 就会变成如下:index value1A NaNB 0C 1D 2 看一下函数原型: DataFrame.shift(periods=1...

  
  1. shift函数是对数据进行移动的操作,假如现在有一个DataFrame数据df,如下所示:
  2. index value1
  3. A 0
  4. B 1
  5. C 2
  6. D 3
  7. 那么如果执行以下代码:
  8. df.shift()
  9. 就会变成如下:
  10. index value1
  11. A NaN
  12. B 0
  13. C 1
  14. D 2
  15. 看一下函数原型:
  16. DataFrame.shift(periods=1, freq=None, axis=0)
  17. 参数
  18. periods:类型为int,表示移动的幅度,可以是正数,也可以是负数,默认值是1,1就表示移动一次,注意这里移动的都是数据,而索引是不移动的,移动之后没有对应值的,就赋值为NaN。
  19. 执行以下代码:
  20. df.shift(2)
  21. 就会得到:
  22. index value1
  23. A NaN
  24. B NaN
  25. C 0
  26. D 1
  27. 执行:
  28. df.shift(-1)
  29. 会得到:
  30. index value1
  31. A 1
  32. B 2
  33. C 3
  34. D NaN
  35. freq: DateOffset, timedelta, or time rule string,可选参数,默认值为None,只适用于时间序列,如果这个参数存在,那么会按照参数值移动时间索引,而数据值没有发生变化。例如现在有df1如下:
  36. index value1
  37. 2016-06-01 0
  38. 2016-06-02 1
  39. 2016-06-03 2
  40. 2016-06-04 3
  41. 执行:
  42. df1.shift(periods=1,freq=datetime.timedelta(1))
  43. 会得到:
  44. index | value1
  45. —-|—-
  46. 2016-06-02 | 0
  47. 2016-06-03 | 1
  48. 2016-06-04 | 2
  49. 2016-06-05 | 3
  50. axis:{0, 1, ‘index’, ‘columns’},表示移动的方向,如果是0或者’index’表示上下移动,如果是1或者’columns’,则会左右移动。

 

文章来源: aaaedu.blog.csdn.net,作者:tea_year,版权归原作者所有,如需转载,请联系作者。

原文链接:aaaedu.blog.csdn.net/article/details/83214418

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。