OUTLINE
- 問題場景
- 解決方案
問題場景
假設我有一份記錄檔資料,其中一個特征是操作app的時間,時間結構譬如“2018-03-13 23:26:19”,我想知道上一次操作跟下一次操作的間隔時間是多少?
解決方案
關于某列或者某行資料的差分自然要想到python中的diff函數,無論是在pandas中還是在numpy裡面都可以直接調用。
在numpy中:
調用方法:
a 表示需要進行差分操作的資料
n 代表執行幾次內插補點
axis:預設是-1。
在pandas中:
調用方法:
dataframe.diff(periods,axis)
dataframe:可以是直接對dataframe結構進行diff,也可以是Series,另外還可以是進行聚合或者其他操作之後的Series
periods:表示移動的幅度。它是任意整數,如果是想讓資料統一向下移動n個periods,則n為正,如果是想讓資料向上移動n個periods,則n為負
axis:表示參考軸。如果axis=0,則是進行行間的移動差分操作,如果axis=1,則進行列間的移動差分操作。
例子:
import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randint(low=1,high=10,size=(4,1)))
data
# 輸出:
data.diff(2)
# 輸出:
data.diff(-1)
# 輸出: