python对列进行平移变换的方法(shift)


Posted in Python onJanuary 10, 2019

在进行数据操作时, 经常会碰到基于同一列进行错位相加减的操作, 即对某一列进行向上或向下平移(shift).

往常, 我们都会使用循环进行操作, 但经过查阅相关资料, 发现结合pandas里的groupby和shift两个函数就能轻松实现上述要求.

#创建样例数据
temp = pd.DataFrame({'id':[1,1,1,2,2,3],'value':[1,2,3,4,5,6]});temp
Out[1]:
  id value
0  1   1
1  1   2
2  1   3
3  2   4
4  2   5
5  3   6
temp['value_shift'] = temp.groupby('id')['value'].shift(1);temp
Out[180]: 
  id value value_shift
0  1   1     NaN
1  1   2     1.0
2  1   3     2.0
3  2   4     NaN
4  2   5     4.0
5  3   6     NaN

temp['value_shift_1'] = temp.groupby('id')['value'].shift(-1);temp
Out[181]: 
  id value value_shift value_shift_1
0  1   1     NaN      2.0
1  1   2     1.0      3.0
2  1   3     2.0      NaN
3  2   4     NaN      5.0
4  2   5     4.0      NaN
5  3   6     NaN      NaN

通过shift函数里面的值来控制向前还是向后偏移, 缺少的值会填充NaN.

groupby函数里的参数控制基于什么字段进行shift.

官方文档 这里是以index为基准.

以上这篇python对列进行平移变换的方法(shift)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
Apr 09 Python
Python遍历目录的4种方法实例介绍
Apr 13 Python
PyMongo安装使用笔记
Apr 27 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
Django使用unittest模块进行单元测试过程解析
Aug 02 Python
python 一篇文章搞懂装饰器所有用法(建议收藏)
Aug 23 Python
PYTHON EVAL的用法及注意事项解析
Sep 06 Python
在Python中预先初始化列表内容和长度的实现
Nov 28 Python
Python接收手机短信的代码整理
Aug 02 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 Python
使用Python通过企业微信应用给企业成员发消息
Apr 18 Python
对python模块中多个类的用法详解
Jan 10 #Python
python 图像平移和旋转的实例
Jan 10 #Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 #Python
详解pandas安装若干异常及解决方案总结
Jan 10 #Python
Python 从一个文件中调用另一个文件的类方法
Jan 10 #Python
关于python下cv.waitKey无响应的原因及解决方法
Jan 10 #Python
Python设计模式之迭代器模式原理与用法实例分析
Jan 10 #Python
You might like
php类
2006/11/27 PHP
snoopy 强大的PHP采集类使用实例代码
2010/12/09 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
PHP中的使用curl发送请求(GET请求和POST请求)
2017/02/08 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
jquery判断小数点两位和自动删除小数两位后的数字
2014/03/19 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
node.js中的fs.chmod方法使用说明
2014/12/18 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
详解Angular2响应式表单
2017/06/14 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue移动端html5页面根据屏幕适配的四种解决方法
2018/10/19 Javascript
微信小程序如何使用globalData的方法
2019/06/06 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
Python 多线程抓取图片效率对比
2016/02/27 Python
Python中defaultdict与lambda表达式用法实例小结
2018/04/09 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
numpy添加新的维度:newaxis的方法
2018/08/02 Python
Django对models里的objects的使用详解
2019/08/17 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
python学生管理系统的实现
2020/04/05 Python
django 解决自定义序列化返回处理数据为null的问题
2020/05/20 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
2020/07/06 Python
Django多个app urls配置代码实例
2020/11/26 Python
详解Selenium 元素定位和WebDriver常用方法
2020/12/04 Python
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
《美丽的小兴安岭》教学反思
2014/02/26 职场文书
货车司机岗位职责
2014/03/18 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
个人售房合同协议书
2016/03/21 职场文书
创业计划书介绍
2019/04/24 职场文书