您當前的位置:首頁 > 書法

Pandas進階120題之34:計算前一行與後一行資料的差值(1)

作者:由 隨風潛夜 發表于 書法時間:2021-10-25

為幫助學習pandas,特意從和鯨社群中提煉出120道經典資料處理常見操作例題,從基礎入門到進階來更快速、更專業的角度理解pandas。主要包括:

Pandas基礎

Pandas進階

金融資料處理

NumPy科學計算

一些補充

https://www。

heywhale。com/mw/project

/5ef96ce863975d002c95fd8a/content

原始資料:

import pandas as pd

import numpy as np

import re

import time

data=pd。read_excel(r‘C:\Users\huatian\Desktop\Python_test\python_120_test_data。xlsx’)

data。head()。T

資料理解:

檢視資料數量:data。shape

data。shape

Pandas進階120題之34:計算前一行與後一行資料的差值(1)

如上圖顯示,資料有20行,50列。並利用

http://

data。info()

進一步瞭解資料,每列資料是否有

空值

,資料型別,資料大小等

Pandas進階120題之34:計算前一行與後一行資料的差值(1)

根據isnull()。sum(),檢視所有空值的列

data_col=data。isnull()。sum()

data_col[data_col>0]

Pandas進階120題之34:計算前一行與後一行資料的差值(1)

需求描述:

現有一列float型別的資料,在我們的測試資料中是“salary”列,需求是:計算前一行與後一行資料的差值,並新增到原始資料中。

程式碼實現:

本次案例選擇了DataFrame。diff()函式實現前一行與後一行資料的差值

data[‘salary_diff’]=data[‘salary’]。diff()

Pandas進階120題之34:計算前一行與後一行資料的差值(1)

上面案例是數值型別計算得到的結果,那麼如果是時間呢?前一行時間資料與後一行時間資料的差值!!!

data[‘createTime_diff’]=data[‘createTime’]。diff()

Pandas進階120題之34:計算前一行與後一行資料的差值(1)

測試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()函式很容易實現此功能。

標簽: data  diff  一行  資料  差值