pandas之shift()函数
【摘要】
shift函数是对数据进行移动的操作,假如现在有一个DataFrame数据df,如下所示:index value1A 0B 1C 2D 3 那么如果执行以下代码: df.shift() 就会变成如下:index value1A NaNB 0C 1D 2 看一下函数原型: DataFrame.shift(periods=1...
-
shift函数是对数据进行移动的操作,假如现在有一个DataFrame数据df,如下所示:
-
index value1
-
A 0
-
B 1
-
C 2
-
D 3
-
-
那么如果执行以下代码:
-
-
df.shift()
-
-
就会变成如下:
-
index value1
-
A NaN
-
B 0
-
C 1
-
D 2
-
-
看一下函数原型:
-
-
DataFrame.shift(periods=1, freq=None, axis=0)
-
-
参数
-
-
periods:类型为int,表示移动的幅度,可以是正数,也可以是负数,默认值是1,1就表示移动一次,注意这里移动的都是数据,而索引是不移动的,移动之后没有对应值的,就赋值为NaN。
-
执行以下代码:
-
-
df.shift(2)
-
-
就会得到:
-
index value1
-
A NaN
-
B NaN
-
C 0
-
D 1
-
-
执行:
-
-
df.shift(-1)
-
-
会得到:
-
index value1
-
A 1
-
B 2
-
C 3
-
D NaN
-
-
freq: DateOffset, timedelta, or time rule string,可选参数,默认值为None,只适用于时间序列,如果这个参数存在,那么会按照参数值移动时间索引,而数据值没有发生变化。例如现在有df1如下:
-
-
index value1
-
2016-06-01 0
-
2016-06-02 1
-
2016-06-03 2
-
2016-06-04 3
-
-
执行:
-
-
df1.shift(periods=1,freq=datetime.timedelta(1))
-
-
会得到:
-
-
-
index | value1
-
—-|—-
-
2016-06-02 | 0
-
2016-06-03 | 1
-
2016-06-04 | 2
-
2016-06-05 | 3
-
-
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)