首頁>Club>
11
回覆列表
  • 1 # 博學多才的軍迷作家

    要呼叫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。

  • 中秋節和大豐收的關聯?
  • 黑洞文明是什麼?