pandas常用函数之shift
2024-10-15 00:12:28
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’,则会左右移动。
参考:
最新文章
- Spring mvc时间格式处理
- 使用递归方法遍历TreeView的节点如配置则勾选
- Nginx学习记录
- Activiti系列:几个历史数据表之间的关系
- zabbix配置发送报警邮件
- mkpasswd
- 升级Python至2.7.8,并安装django
- 关于用Java写的贪吃蛇游戏的一些感想
- String中的两种实例化方式的区别
- jsp文件调用本地文件的方法(Tomcat server.xml 设置虚拟目录)
- DDD实战进阶第一波(一):开发一般业务的大健康行业直销系统(概述)
- Python开发【第十篇】:模块
- .net webapi 接收 xml 格式数据的三种情况
- pcntl_exec()
- cf round546 cde
- BZOJ1010 [HNOI2008]玩具装箱toy 动态规划 斜率优化
- Opaque data type--不透明类型
- String在内存中如何存储(Java)
- bzoj1001狼抓兔子
- springmvc整合mybatis 配置文件
热门文章
- Linux命令学习总结:ls
- Redis数据库云端最佳技术实践
- VMware实现iptables NAT及端口映射
- LeetCode算法题-Baseball Game(Java实现)
- java类加载及类初始化
- 戏说春秋_i春秋 writeup
- Windows Service 学习系列(三)——循环引擎 ICycleEngine
- Jetson TX2(3)opencv3 打开usb摄像头
- 20145236《网络对抗》进阶实验——64位Ubuntu 17.10.1 ROP攻击
- springBoot2.0+redis+fastJson+自定义注解实现方法上添加过期时间