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爬虫抓取暴走漫画上gif图片的实例分享
Apr 20 Python
python中set常用操作汇总
Jun 30 Python
使用python在本地电脑上快速处理数据
Jun 22 Python
python下setuptools的安装详解及No module named setuptools的解决方法
Jul 06 Python
python实现决策树
Dec 21 Python
python实现连续图文识别
Dec 18 Python
详解安装mitmproxy以及遇到的坑和简单用法
Jan 21 Python
pandas修改DataFrame列名的实现方法
Feb 22 Python
django-crontab实现服务端的定时任务的示例代码
Feb 17 Python
使用 Python 读取电子表格中的数据实例详解
Apr 17 Python
Python基于yaml文件配置logging日志过程解析
Jun 23 Python
Python猫眼电影最近上映的电影票房信息
Sep 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
SONY ICF-SW7600的电路分析
2021/03/02 无线电
PHP数据库操作面向对象的优点
2006/10/09 PHP
PHP5中虚函数的实现方法分享
2011/04/20 PHP
PHP 下载文件时自动添加bom头的方法实例
2014/01/10 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
php使用unset()删除数组中某个单元(键)的方法
2015/02/17 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
phpstudy的php版本自由修改的方法
2017/10/18 PHP
PHP7新增函数
2021/03/09 PHP
js string 转 int 注意的问题小结
2013/08/15 Javascript
浅谈js中的闭包
2015/03/16 Javascript
深入浅出分析javaScript中this用法
2015/05/09 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
很不错的两款Bootstrap Icon图标选择组件
2016/01/28 Javascript
node.js实现爬虫教程
2020/08/25 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
js判断节假日实例代码
2017/12/27 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
Vue中遍历数组的新方法实例详解
2019/07/21 Javascript
跟老齐学Python之编写类之二方法
2014/10/11 Python
Python实现一个服务器监听多个客户端请求
2018/04/12 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
德国传统玻璃制造商:Cristalica
2018/04/23 全球购物
进修护士自我鉴定
2013/10/14 职场文书
班干部竞选演讲稿
2014/04/24 职场文书
论文评语大全
2014/04/29 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
新员工入职感想
2015/08/07 职场文书
python元组打包和解包过程详解
2021/08/02 Python
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
《地。-关于地球的运动-》单行本第七集上市,小说家朝井辽献上期待又害怕的推荐文
2022/03/31 日漫