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读取txt某几列绘图的方法
Oct 14 Python
pygame游戏之旅 计算游戏中躲过的障碍数量
Nov 20 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
Python 调用 Outlook 发送邮件过程解析
Aug 08 Python
Python中Subprocess的不同函数解析
Dec 10 Python
对python中arange()和linspace()的区别说明
May 03 Python
Python爬虫谷歌Chrome F12抓包过程原理解析
Jun 04 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
通过案例解析python鸭子类型相关原理
Oct 10 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
利用python绘制正态分布曲线
Jan 04 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 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
Email+URL的判断和自动转换函数
2006/10/09 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
2014/11/19 PHP
php实现socket推送技术的示例
2017/12/20 PHP
麻雀虽小五脏俱全 Dojo自定义控件应用
2010/09/04 Javascript
基于jQuery实现表格数据的动态添加与统计的代码
2011/01/31 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
jquery为页面增加快捷键示例
2014/01/31 Javascript
jQuery中:first-child选择器用法实例
2014/12/31 Javascript
javascript 常用验证函数总结
2016/06/28 Javascript
jQuery的图片轮播插件PgwSlideshow使用详解
2016/08/11 Javascript
扩展Bootstrap Tooltip插件使其可交互的方法
2016/11/07 Javascript
js中获取键盘按下键值event.keyCode、event.charCode和event.which的兼容性详解
2017/03/15 Javascript
3分钟掌握常用的JS操作JSON方法总结
2017/04/25 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
详解在vue-cli中使用路由
2017/09/25 Javascript
Angular实现svg和png图片下载实现
2019/05/05 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
Django自定义认证方式用法示例
2017/06/23 Python
关于python写入文件自动换行的问题
2018/06/23 Python
Flask框架配置与调试操作示例
2018/07/23 Python
python得到单词模式的示例
2018/10/15 Python
Python中文编码知识点
2019/02/18 Python
在django admin中添加自定义视图的例子
2019/07/26 Python
Python基于yield遍历多个可迭代对象
2020/03/12 Python
Ubuntu配置Pytorch on Graph (PoG)环境过程图解
2020/11/19 Python
使用CSS3制作版头动画效果
2020/12/24 HTML / CSS
印尼购物网站:iLOTTE
2019/10/16 全球购物
网络维护管理员的自我评价分享
2013/11/11 职场文书
责任书范本大全
2015/05/11 职场文书
股东合作协议书模板2篇
2019/11/05 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
JS Canvas接口和动画效果大全
2021/04/29 Javascript
python实现自定义日志的具体方法
2021/05/28 Python
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript
python数字图像处理:图像的绘制
2022/06/28 Python