龙空技术网

Pandas进阶120题之34:计算前一行与后一行数据的差值(1)

默至 189

前言:

今天各位老铁们对“pandas两个dataframe相减”都比较注意,姐妹们都需要了解一些“pandas两个dataframe相减”的相关文章。那么小编在网上收集了一些有关“pandas两个dataframe相减””的相关知识,希望朋友们能喜欢,朋友们快快来学习一下吧!

为帮助学习pandas,特意从和鲸社区中提炼出120道经典数据处理常见操作例题,从基础入门到进阶来更快速、更专业的角度理解pandas。主要包括:

Pandas基础Pandas进阶金融数据处理NumPy科学计算一些补充

()

原始数据:

import pandas as pdimport numpy as npimport reimport timedata=pd.read_excel(r'C:\Users\huatian\Desktop\Python_test\python_120_test_data.xlsx')data.head().T
数据理解:

查看数据数量:data.shape

data.shape

如上图显示,数据有20行,50列。并利用data.info()进一步了解数据,每列数据是否有空值,数据类型,数据大小等

根据isnull().sum(),查看所有空值的列

data_col=data.isnull().sum()data_col[data_col>0]
需求描述:

现有一列float类型的数据,在我们的测试数据中是“salary”列,需求是:计算前一行与后一行数据的差值,并添加到原始数据中。

代码实现:

本次案例选择了DataFrame.diff()函数实现前一行与后一行数据的差值

data['salary_diff']=data['salary'].diff()

上面案例是数值类型计算得到的结果,那么如果是时间呢?前一行时间数据与后一行时间数据的差值!!!

data['createTime_diff']=data['createTime'].diff()

测试diff()函数得到前一行与后一行时间的差值,很有意思的是:当后一行时间早于前一行时间时,计算出的结果为-1days +时间差。注意注意!!!

DataFrame.diff()函数:是用来将数据进行某种移动之后与原数据进行比较得出的差异数据

DataFrame.diff(periods=1, axis=0)

即默认period=1,表示与前一行数据元素的差异

参数:

periods:移动的幅度,int类型,默认值为1。

axis:移动的方向,{0 or ‘index’, 1 or ‘columns’},如果为0或者’index’,则上下移动,如果为1或者’columns’,则左右移动。

返回值 :

DataFrame类型

总结

计算前一行与后一行数据的差值。很有意思的一个案例,在业务实验中很常见的,在python中利用dataframe.diff()函数很容易实现此功能。

#python#

#我要上头条#

标签: #pandas两个dataframe相减