pandas DataFrame.shift()函数的具体使用


Posted in Python onMay 24, 2021

pandas DataFrame.shift()函数可以把数据移动指定的位数

period参数指定移动的步幅,可以为正为负.axis指定移动的轴,1为行,0为列.

eg: 有这样一个DataFrame数据:

import pandas as pd
data1 = pd.DataFrame({
    'a': [0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
    'b': [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
})
print data1

   a  b
0  0  9
1  1  8
2  2  7
3  3  6
4  4  5
5  5  4
6  6  3
7  7  2
8  8  1
9  9  0

如果想让 a和b的数据都往下移动一位:

data2 = data1.shift(axis=0)
print data2

     a    b
0  NaN  NaN
1  0.0  9.0
2  1.0  8.0
3  2.0  7.0
4  3.0  6.0
5  4.0  5.0
6  5.0  4.0
7  6.0  3.0
8  7.0  2.0
9  8.0  1.0

如果是在行上往右移动一位:

data3 = data1.shift(axis=1)
print data3

    a    b
0 NaN  0.0
1 NaN  1.0
2 NaN  2.0
3 NaN  3.0
4 NaN  4.0
5 NaN  5.0
6 NaN  6.0
7 NaN  7.0
8 NaN  8.0
9 NaN  9.0

如果想往上或者往左移动,可以指定(periods=-1):

data4 = data1.shift(periods=-1, axis=0)
print data4

     a    b
0  1.0  8.0
1  2.0  7.0
2  3.0  6.0
3  4.0  5.0
4  5.0  4.0
5  6.0  3.0
6  7.0  2.0
7  8.0  1.0
8  9.0  0.0
9  NaN  NaN

一个例子:

这里有一组某车站各个小时的总进站人数和总出站人数的数据:

entries_and_exits = pd.DataFrame({
    'ENTRIESn': [3144312, 3144335, 3144353, 3144424, 3144594,
                 3144808, 3144895, 3144905, 3144941, 3145094],
    'EXITSn': [1088151, 1088159, 1088177, 1088231, 1088275,
               1088317, 1088328, 1088331, 1088420, 1088753]
})

要求计算每个小时该车站进出站人数

思路: 把第n+1小时的总人数-第n小时的总人数,就是这个小时里的进出站人数

entries_and_exits_hourly = entries_and_exits - entries_and_exits.shift(axis=0)print(entries_and_exits_hourly.fillna(0))   #最后用0来填补NaN

   ENTRIESn  EXITSn
0       0.0     0.0
1      23.0     8.0
2      18.0    18.0
3      71.0    54.0
4     170.0    44.0
5     214.0    42.0
6      87.0    11.0
7      10.0     3.0
8      36.0    89.0
9     153.0   333.0

到此这篇关于pandas DataFrame.shift()函数的具体使用的文章就介绍到这了,更多相关pandas DataFrame.shift()内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python实现对百度云的文件上传(实例讲解)
Oct 21 Python
Python数据拟合与广义线性回归算法学习
Dec 22 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
Oct 22 Python
pycharm: 恢复(reset) 误删文件的方法
Oct 22 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
Feb 28 Python
TensorFlow学习之分布式的TensorFlow运行环境
Feb 05 Python
python与js主要区别点总结
Sep 13 Python
Python Merge函数原理及用法解析
Sep 16 Python
在 Python 中使用 7zip 备份文件的操作
Dec 11 Python
selenium自动化测试入门实战
Dec 21 Python
python爬虫之利用selenium模块自动登录CSDN
Apr 22 Python
Python四款GUI图形界面库介绍
Jun 05 Python
教你怎么用python实现字符串转日期
May 24 #Python
pandas中DataFrame重置索引的几种方法
May 24 #Python
pandas取dataframe特定行列的实现方法
pytorch 如何使用amp进行混合精度训练
只需要这一行代码就能让python计算速度提高十倍
pytorch 如何使用float64训练
pytorch 使用半精度模型部署的操作
May 24 #Python
You might like
回答PHPCHINA上的几个问题:URL映射
2007/02/14 PHP
php文件上传简单实现方法
2015/01/24 PHP
PHP分享图片的生成方法
2018/04/25 PHP
jQuery对表单的操作代码集合
2011/04/06 Javascript
jQuery中读取json文件示例代码
2013/05/10 Javascript
5秒后跳转到另一个页面的js代码
2013/10/12 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
js函数名与form表单元素同名冲突的问题
2014/03/07 Javascript
javascript实现des解密加密全过程
2014/04/03 Javascript
js单词形式的运算符
2014/05/06 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
javascript引擎长时间独占线程造成卡顿的解决方案
2014/12/03 Javascript
Javascript中this关键字的一些小知识
2015/03/15 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
BootStrap使用file-input插件上传图片的方法
2016/09/05 Javascript
jQuery插件echarts实现的多柱子柱状图效果示例【附demo源码下载】
2017/03/04 Javascript
Bootstrap笔记—折叠实例代码
2017/03/13 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
2017/08/23 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
Python中的深拷贝和浅拷贝详解
2015/06/03 Python
Python实现多条件筛选目标数据功能【测试可用】
2018/06/13 Python
Tensorflow模型实现预测或识别单张图片
2019/07/19 Python
Python爬虫:将headers请求头字符串转为字典的方法
2019/08/21 Python
Python字典的概念及常见应用实例详解
2019/10/30 Python
python3中rank函数的用法
2019/11/27 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
python如何将两张图片生成为全景图片
2020/03/05 Python
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
尤为Wconcept中国官网:韩国设计师品牌服饰
2019/01/10 全球购物
英国屋顶用品和材料超市:Roofing Supplies UK
2019/08/24 全球购物
《小松树和大松树》教学反思
2014/02/20 职场文书
党员公开承诺践诺书
2014/03/25 职场文书