ROLLINGMODE 函式

在指定資料欄中,計算現行列前後範圍的累計模式 (最常見的值)。
  • 如果輸入值遺漏或為空值,則不會列入計算。舉例來說,如為資料集中的第一個資料列,前一個值的累計模式為未定義。
  • 擷取值的來源資料列是由 order 參數指定的資料列排序決定。

    如果您正在處理隨機產生的資料集樣本,則您在此函式中看到的值未必會對應到工作執行期間在完整資料集中產生的值。

  • 此函式使用資料欄名稱,以及目前資料列往後及往前範圍的兩個整數參數。
    • 預設整數參數值是 -10,用以計算現行資料列往後到資料集第一列的累計函式。
  • 此函式可與下列轉換一起使用:

如要進一步瞭解此函式的非累計版本,請參閱 MODE 函式

基本用法

資料欄範例:

derive type:single value:ROLLINGMODE(myCol)

輸出:針對 myCol 資料欄中從資料集第一列到現行列的所有值,產生含有其累計模式的新資料欄。

計算前面資料列的範例:

window value:ROLLINGMODE(myNumber, 3)

輸出:產生新資料欄,其中含有 myNumber 資料欄中現行列和前兩列值的累計模式。

計算前後資料列的範例:

window value:ROLLINGMAX(myNumber, 3, 2)

輸出:產生新資料欄,其中含有 myNumber 資料欄中現行列的前兩列值、現行列值,以及現行列後兩列值的累計模式。

語法

window value:ROLLINGMODE(col_ref, rowsBefore_integer, rowsAfter_integer) order: order_col [group: group_col]

引數是否必要?資料類型說明
col_ref字串資料欄名稱,其值會套用於函式
rowsBefore_integer整數待併入計算的現行資料列之前的列數
rowsAfter_integer整數待併入計算的現行資料列之後的列數

如要進一步瞭解 ordergroup 參數,請參閱 Window 轉換

如要進一步瞭解語法標準,請參閱語言文件語法附註

col_ref

資料欄名稱,其值會用於計算函式。

  • 不支援多個資料欄和萬用字元。

使用須知:

是否必要?資料類型範例值
字串 (整數或小數值的資料欄參照)myColumn

rowsBefore_integer、rowsAfter_integer

整數代表現行列前後的列數,系統會從現行列開始計算之前或之後指定列數 (包括現行列在內) 的累計函式。例如,如果第一個值是 5,則計算範圍為現行列和現行列之後的四列。負值的 k 代表計算現行列之前指定列數的累計平均值。

  • rowBefore=1 只會產生現行列值。
  • rowBefore=-1 使用現行列之前的所有列。
  • 如果沒有指定 rowsAfter,則會套用 0 值。
  • 如果套用 group 參數,則這些參數值不應超過群組中的最大列數。

使用須知:

是否必要?資料類型範例值
整數4

範例

範例 - 計算最常見的擲硬幣結果

下表列出 20 次擲硬幣結果。您想要擷取最常見值的累計評估。

來源:

TurnResult
1heads
2heads
3tails
4heads
5heads
6tails
7tails
8heads
9tails
10heads
11tails
12heads
13tails
14heads
15heads
16tails
17tails
18tails
19heads
20heads


轉換:

如要使用 ROLLINGMODE 函式,則必須將結果轉換成數值:

set col: Result value: if(Result == 'heads', 0, 1)

現在針對每一列的前五個值計算 ROLLINGMODE

derive type: multiple value: rollingmode(Result, 4, 0) order: Turn as: 'mostCommonLast5'

您現在可以將二進位值轉換回文字資訊:

set col: mostCommonLast5 value: if(mostCommonLast5 == 0, 'heads-last5', 'tails-last5')


結果:

TurnResultmostCommonLast5
1headsheads-last5
2headsheads-last5
3tailsheads-last5
4headsheads-last5
5headsheads-last5
6tailsheads-last5
7tailstails-last5
8headsheads-last5
9tailstails-last5
10headstails-last5
11tailstails-last5
12headsheads-last5
13tailstails-last5
14headsheads-last5
15headsheads-last5
16tailsheads-last5
17tailstails-last5
18tailstails-last5
19headstails-last5
20headstails-last5

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Google Cloud Dataprep 說明文件
需要協助嗎?請前往我們的支援網頁