要呼叫diff輸出的函式,就要新建指令碼,求解,並儲存,具體可參照以下例子:
假設我有一份操作日誌資料,其中一個特徵是操作app的時間,時間結構譬如“2018-03-13 23:26:19”,我想知道上一次操作跟下一次操作的間隔時間是多少?
解決方案
關於某列或者某行資料的差分自然要想到python中的diff函式,無論是在pandas中還是在numpy裡面都可以直接呼叫。
在numpy中:呼叫方法:numpy.diff(a, n=1,axis=-1)
numpy.diff(a, n=1,axis=-1)11
a 表示需要進行差分操作的資料n 代表執行幾次差值axis:預設是-1。
在pandas中:呼叫方法:
dataframe.diff(periods,axis)
import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randint(low=1,high=10,size=(4,1)))
data
# 輸出:
dataframe.diff(periods,axis)11
dataframe:可以是直接對dataframe結構進行diff,也可以是Series,另外還可以是進行聚合或者其他操作之後的Seriesperiods:表示移動的幅度。它是任意整數,如果是想讓資料統一向下移動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 # 輸出:1234512345
data.diff(2) # 輸出:1212
data.diff(-1) # 輸出:1212。
要呼叫diff輸出的函式,就要新建指令碼,求解,並儲存,具體可參照以下例子:
假設我有一份操作日誌資料,其中一個特徵是操作app的時間,時間結構譬如“2018-03-13 23:26:19”,我想知道上一次操作跟下一次操作的間隔時間是多少?
解決方案
關於某列或者某行資料的差分自然要想到python中的diff函式,無論是在pandas中還是在numpy裡面都可以直接呼叫。
在numpy中:呼叫方法:numpy.diff(a, n=1,axis=-1)
numpy.diff(a, n=1,axis=-1)11
a 表示需要進行差分操作的資料n 代表執行幾次差值axis:預設是-1。
在pandas中:呼叫方法:
dataframe.diff(periods,axis)
import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randint(low=1,high=10,size=(4,1)))
data
# 輸出:
dataframe.diff(periods,axis)11
dataframe:可以是直接對dataframe結構進行diff,也可以是Series,另外還可以是進行聚合或者其他操作之後的Seriesperiods:表示移動的幅度。它是任意整數,如果是想讓資料統一向下移動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 # 輸出:1234512345
data.diff(2) # 輸出:1212
data.diff(-1) # 輸出:1212。