グループ化集計関数¶
Data Prep集計関数では、行の集合を組み合わせることや、参照された列で特定の関数を計算することができます。
これらの操作は、一致する行をデータセットから検索し、これらを 結合して1つの行にするため、「集計」と呼ばれます。一致する行は、列ごとに同じ値を共有するものとして定義されます。この列単位の検査では、参照列は除外されます。 参照列の値を集計関数に提供することで、参照列の値を単一行の結果として生成するためです。
以下のセクションでは、グループ化を使用して操作を形成する場合に使用できる集計関数について説明します:
動作 | 目的 |
---|---|
array(配列) | 重複する行を凝縮して1つのデータ行にし、コンマで区切られた1つの文字列に参照列データを凝縮します。 |
average | 重複する行を凝縮して1つのデータ行とし、参照列の値の平均を表示します。 |
count | 重複する行を凝縮して1つのデータ行とし、参照列中の重複行の数を表示します。 |
count(数値のみ) | 重複する行を凝縮して1つのデータ行とし、重複する行数を表示しますが、数値のみをカウントします。 |
count distinct | 重複する行を凝縮して1つのデータ行とし、参照列に一意の値の数を表示します。 |
first | 重複する行を凝縮して1つのデータ行とし、重複する行に現れた最初の値を表示します。 |
last | 重複する行を凝縮して1つのデータ行とし、重複する行に表示される最後の値を表示します。 |
max | 重複する行を凝縮して1つのデータ行とし、参照列中の最大値を表示します。 |
min | 重複する行を凝縮して1つのデータ行とし、参照列中の最小値を表示します。 |
median | 重複する行を凝縮して1つのデータ行とし、参照列中の中央値を表示します。 |
mode | 重複する行を凝縮して1つのデータ行とし、参照列に数字のモードを表示します。 |
stdev | 重複する行を凝縮して1つのデータ行とし、参照列に数値の標準偏差を表示します。 |
stdevp | 重複する行を凝縮して1つのデータ行とし、参照列内に含まれる母集団の標準偏差を表示します。 |
sum | 重複する行を凝縮して1つのデータ行とし、参照列に値の合計を表示します。 |
var | 重複する行を凝縮して1つのデータ行とし、参照列に数値の分散を表示します。 |
varp | 重複する行を凝縮して1つのデータ行とし、参照列に含まれる母集団分散を表示します。 |
array(配列)¶
使用可能な集計関数の中でも、array は、テキストと数値の両方に使用できるという点でユニークです。集約行に対して数学演算を実行するのではなく、参照列(array が適用される列)のすべての値が一時的に保存されます。ユニークな単一行が作成されると、arrayは、集合の参照列データを列内の単一のカンマ区切り文字列へと組み合わせます。
例
次の小さなデータセットを使用して、arrayがどのように演算を行うかを示します。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
two | two | 7 |
1 | two | 4 |
例1
列Cにarray関数を適用すると、行数が4行から2行に減ります。列Array of Column Cの値は、演算中に折りたたまれた重複行の列Cの合計を示します。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5.0, 6.0, 4.0 |
two | two | 7.0 |
例2
列Aに array 関数を適用した場合、行数は減りません。 これは、列Bと列Cの各行の値の照合によって、各値がすでに一意であることが分かっているためです。したがって、列Array of Column Aには、各行に元の値が表示されます。 ただし、数値はテキストに変換されています。
列 A | 列 B | 列 C |
---|---|---|
1.0 | two | 5 |
two | two | 7 |
1.0 | two | 6 |
1.0 | two | 4 |
average¶
このaverage集計関数は、すべての重複した行を一意の1行に折りたたむとともに、参照列(関数が適用される列)の数値の平均値を検出します。同一の行を検出するため、すべての行(average が適用される列を除く)が列単位で照合されます。
例
次の小さなデータセットを使用して、averageがどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
two | two | 7 |
1 | two | 4 |
例1
列Cにaverage関数を適用すると、行数が4行から2行に減ります。列Average of Column Cの値は、演算中に折りたたまれた重複行の列Cの値の平均を示します:(5 + 6 + 4) ÷ 3 = 5と7 ÷ 1 = 7)。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
two | two | 7 |
例2
列Aにaverage関数を適用した場合、行数は減りません。 これは、列Bと列Cの各行の値の照合によって、各値がすでに一意であることが分かっているためです。average関数が数学演算に関わる重複行を検出しなかったため、列Average of Column Aの値は各行に元の数値(この例では数値1)が表示されます。0は、テキスト「2」を置き換えます。 これは、average演算がテキスト値に適用できないためです。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
1 | two | 4 |
0 | two | 7 |
count¶
例
次の小さなデータセットを使用して、count がどのように演算を行うかを示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 5 |
one | two | 6 |
two | two | 7 |
one | two | 4 |
例1
列Cにcount関数を適用すると、行数が4行から2行に減ります。列Count of Column Cの値は、演算中に折りたたまれた重複行の数(回数)を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 3 |
two | two | 1 |
例2
列Aに count 関数を適用した場合、行数は減りません。 これは、列Bと列Cの各行の値の照合によって、各値がすでに一意であることが分かっているためです。したがって、列Count of Column Aの値は4行とも1の値になります。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
1 | two | 7 |
1 | two | 4 |
count(数値のみ)¶
count (数値のみ)集計関数の演算は、count 関数とまったく同じになります。ただし、count (数値のみ)は数値だけをカウントし、集計プロセス中にテキスト値を無視します。
count distinct¶
count distinct集計関数は、すべての値をカウントするcount関数とは異なり、カウントされる列の一意の値の数を返します。
first¶
first集計関数は、(ユーザーが選択した列に基づいて)データの重複行を検索してそれらを1行のデータに凝縮します。first関数はその後、重複行に出現したデータ内の最初の値を表示します。最初に出現した値以外の値はすべて、この処理中に失われます。
例
次の小さなデータセットを使用して、firstがどのように演算を行うかを示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 5 |
one | two | 6 |
two | two | 7 |
one | two | 4 |
列Cにfirst関数を適用すると、行数が4行から2行に減ります。列First of Column Cの値は、演算中に折りたたまれた重複行の列Cの最初の値を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 5 |
two | two | 7 |
last¶
last集計関数は、(ユーザーが選択した列に基づいて)データの重複行のデータを検索してそれを1行のデータに凝縮します。last関数はその後、重複行に現れたデータ内の最後の値を表示します。最後に出現した値以外の値はすべて、この処理中に失われます。
例
次の小さなデータセットを使用して、last がどのように演算を行うかを示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 5 |
one | two | 6 |
two | two | 7 |
one | two | 4 |
列Cにlast関数を適用すると、行数が4行から2行に減ります。列Last of Column Cの値は、演算中に折りたたまれた重複行の列Cの最後の値を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 4 |
two | two | 7 |
max¶
すべての重複行が1つの一意の行に折りたたまれるため、max集計関数は、参照列(関数が適用される列)の最大値を返します。同一の行を検出するため、すべての行(maxが適用される列を除く)が列単位で照合されます。
この関数の逆に相当するのがmin(最小)です。
例
次の小さなデータセットを使用して、 max がどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
two | two | 7 |
1 | two | 4 |
列Cにmax関数を適用すると、行数が4行から2行に減ります。列Max of Column Cの値は、演算中に折りたたまれた重複行の列Cの最大値を示します。
max関数によって返されたデータセット(下記)では、 最初の行の数値6は、数値の集合{4, 5, 6}から得られた結果です。列Aと列Bが照合されたときに、各数値は同一の行の要素であったため、各数値はこの集合に存在しています。(列Cがこの照合から除外されているのは、この列が参照列であるためです)。この3つの数値を含む集合では、6が最大です。そのため、それが参照列に表示される値となります。
7という数値は、他の数値を拠出する重複行がないため、{7}という1つの数値を含む集合から取得された結果です。7 はこの集合の最小値かつ最大値であるため、この行に対しては 7 が返されます。
min¶
すべての重複行が1つの一意の行に折りたたまれるため、min集計関数は、参照列(関数が適用される列)の最小値を返します。同一の行を検出するため、すべての行(minが適用される列を除く)が列単位で照合されます。
この関数の逆に相当するのがmax(最大)です。
例
次の小さなデータセットを使用して、minがどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
two | two | 7 |
1 | two | 4 |
列Cにmin関数を適用すると、行数が4行から2行に減ります。列Min of Column Cの値は、演算中に折りたたまれた重複行の列Cの最小値を示します。
min関数によって返されたデータセット(下記)では、 最初の行の数値4は、数値の集合{4, 5, 6}から得られた結果です。列Aと列Bが照合されたときに、各数値は同一の行の要素であったため、各数値はこの集合に存在しています。(列Cがこの照合から除外されているのは、この列が参照列であるためです)。この3つの数値を含む集合では、 4 が最小です。したがって、この値が参照列に表示されます。
7という数値は、他の数値を拠出する重複行がないため、{7}という1つの数値を含む集合から取得された結果です。7 はこの集合の最小値かつ最大値であるため、この行に対しては 7 が返されます。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 4 |
two | two | 7 |
median¶
すべての重複行が1つの一意の行に折りたたまれるため、median集計関数は参照列(medianが適用される列)の数値の中央値を検出します。同一の行を検出するため、すべての行(medianが適用される列を除く)が列単位で照合されます。
中央値とは、ある範囲の数値を小さい順に並べたときに中央に位置する数値のことです。これは、数値の半数は返された値の「右」に含まれ、残りの半数は検出された値の「左」に含まれることを意味します。数値の集合の要素数が偶数の場合(つまり、集合の中央に位置する数値が1つではない場合)は、この関数は、範囲の中央にある数値のペア(つまり、中間点の左右にある2つの数値)の平均値を計算します。
関連する集計関数として、averageとmode があります。
例
次の小さなデータセットを使用して、median がどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
one | two | 5 |
one | two | 6 |
two | two | 7 |
one | two | 4 |
列Cにmedian関数を適用すると、行数が4行から2行に減ります。列Median of Column Cの値は、演算中に折りたたまれた重複行の列Cの値の中央値を示します。
median関数によって返されるデータセット(下記)では、最初の行の数値5は、順序付けられた数値の集合{4, 5, 6}から得られた結果です。列Aと列Bが照合されたときに、各数値は同一の行の要素であったため、各数値はこの集合に存在しています。(列Cがこの照合から除外されているのは、この列が参照列であるためです)。この3つの数値の集合では、集合において5は中央値であり、その両側に1つずつ数値が含まれます。
7という数値は、他の数値を拠出する重複行がないため、{7}という1つの数値を含む集合から取得された結果です。7はこの集合の中央値であるため(その左右には数値が 1つもない)、この行に対しては7が返されます。
列 A | 列 B | 列 C |
---|---|---|
one | two | 5 |
two | two | 7 |
mode¶
モード(最頻値)とは、数値の集合の中で最も頻繁に出現する値です。mode集計関数は、同一の行の参照列(modeが適用される列)で最も頻繁に発生する同一の数値を検出します。すべての重複行は、一意の1つの行に折り畳まれる前に、列単位の照合を行って検出されます(modeが適用されている列を除く)。結果として得られる各行について、基になった重複行から得られた参照列の値は、mode関数の演算の対象となる集合の一部となります。
重要
関連する集計関数としてaverageとmedian があります。
例
次の小さなデータセットを使用して、mode がどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
one | two | 3 |
one | two | 6 |
two | two | 7 |
one | two | 3 |
列Cにmode関数を適用すると、行数が4行から2行に減ります。列Mode of Column Cの値は、演算中に折りたたまれた重複行の列Cの値のモードを示します。
結果として得られたデータセット(以下)では、最初の行の数値3は、重複していたが1つの行に折りたたまれた行により拠出された各要素を持つ、順序付けられた数値の集合{3, 6, 3}から得られたものです。この3つの数値を含む集合では、3が最も頻繁に出現しているため(3つ中2つ)、この集合のモードです。
7という数値は、他の数値を拠出する重複行がないため、{7}という1つの数値を含む集合から取得された結果です。集合の要素は 7 だけなので、これが最も頻繁に出現する値になります。
列 A | 列 B | 列 C |
---|---|---|
one | two | 3 |
two | two | 7 |
stdev¶
stdev(標準偏差)集計関数は、データのサンプル集合内に存在する標準偏差(平均値からのばらつきの量)を計算します。この集計関数は、同一である行における参照列(stdev が適用される列)の数値の標準偏差を計算します。
参照列にテキスト値が存在する場合、その値は stdev の計算時に無視されます。また、 stdev集計関数には、少なくとも2つの値が必要となります。つまり、返された一意の行ごとに、集計に使用可能な同一の行が2行以上存在している必要があります。1回しか発生しない行では、計算に必要な参照列の値が1つしか得られないため、エラーが発生します。
データの標準偏差は、その分散の平方根です。分析対象の集合がすべてのデータポイント(「母集団」と呼びます)を表している場合は、より精度の高い結果を得るために stdevp を使用することをお勧めします。統計的分散を扱う関連関数として、varp があります。
例
次のデータセットを使用して、stdevがどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.2 |
one | two | 0.1 |
one | two | 1.1 |
one | two | 0.2 |
one | two | 0.6 |
one | one | 0.2 |
one | one | 0.27 |
one | two | 0.2 |
one | two | 0.4 |
列Cにstdev関数を適用すると、下表に示すように、行数が9行から2行に減ります。列Stdev of Column Cの値は、演算中に折りたたまれた重複行の列Cサンプルデータ値の標準偏差を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.3511884584284246 |
one | one | 0.049497474683058325 |
stdevp¶
stdevp(母集団の標準偏差)集計関数は、データの集合全体(母集団)内に存在する標準偏差(平均値からのばらつきの量)を計算します。この集計関数は、同一の行の参照列(stdevpが適用される列)内の数値を使用して、母集団の標準偏差を計算します。
参照列にテキスト値が存在する場合、その値はstdevpの計算時に無視されます。また、stdevp集計関数には2つ以上の値が必要となります。つまり、返された一意の行ごとに、集計に使用可能な同一の行が2行以上存在している必要があります。1回しか発生しない行では、計算に必要な参照列の値が1つしか得られないため、エラーが発生します。
分析対象集合がデータのサンプルを表している場合は、より精度の高い結果を得るために stdev を使用することをお勧めします。統計的分散を扱うその他の関連関数として、varとvarpがあります。
例
次のデータセットを使用して、stdevp がどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.2 |
one | two | 0.1 |
one | two | 1.1 |
one | two | 0.2 |
one | two | 0.6 |
one | one | 0.2 |
one | one | 0.27 |
one | two | 0.2 |
one | two | 0.4 |
列Cにstdevp関数を適用すると、下表に示すように、行数が9行から2行に減ります。列StdevP of Column Cの値は、演算中に折りたたまれた重複行の列Cに含まれている母集団の標準偏差を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.32513733362117264 |
one | one | 0.034999999999999996 |
sum¶
例
次の小さなデータセットを使用して、sumがどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
two | two | 7 |
1 | two | 4 |
例1
列Cにsum関数を適用すると、行数が4行から2行に減ります。列Sum of Column Cの値は、演算中に折りたたまれた重複行の列Cの合計を示します(5 + 6 + 4 = 15と7 + 0 = 7)。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 15 |
two | two | 7 |
例2
列A にsum関数を適用した場合、行数は減りません。 これは、各行の列Bと列Cの値の照合によって、各値がすでに一意であることが証明されているためです。sum関数が加算演算に関与している可能性がある重複行を検出しなかったため、Sum of Column A列の値は元の数値(この場合、数値 1)で各行を表示します。0は、テキスト「2」を置き換えます。 これは、sum演算がテキスト値に適用できないためです。
列 A | 列 B | 列 C |
---|---|---|
1 | two | 5 |
1 | two | 6 |
1 | two | 4 |
0 | two | 7 |
var¶
var(分散)集計関数は、データのサンプル集合内に値がどの程度拡散しているかを推定します。この集計関数は、同一の行の参照列(この関数が適用される列)の数値の分散を計算します。
参照列にテキスト値がある場合、その値はvarの計算内で無視されます。また、var集計関数には2つ以上の値が必要となります。つまり、返された一意の行ごとに、集計に使用可能な同一の行が2行以上存在している必要があります。1回しか発生しない行では、計算に必要な参照列の値が1つしか得られないため、エラーが発生します。
分析対象の集合がすべてのデータ ポイント(「母集団」と呼びます)を表している場合は、より精度の高い結果を得るために varp を使用することをお勧めします。統計的分散を扱う関連関数として、stdevとstdevpがあります。
例
次のデータセットを使用して、varがどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.2 |
one | two | 0.1 |
one | two | 1.1 |
one | two | 0.2 |
one | two | 0.6 |
one | one | 0.2 |
one | one | 0.27 |
one | two | 0.2 |
one | two | 0.4 |
列Cにvar 関数を適用すると、下表に示すように、行数が9行から2行に減ります。列Var of Column Cの値は、演算中に折りたたまれた重複行における列Cサンプルデータ値の分散を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.12333333333333334 |
one | one | 0.00245 |
varp¶
varp(母集団の分散)集計関数は、データの全体集合(母集団)の値の分散度を計算します。この集計関数は、同一の行の参照列(この関数が適用される列)に含まれている母集団の分散を計算します。
参照列にテキスト値がある場合、その値は varp の計算内で無視されます。また、varp関数には2つ以上の値が必要となります。つまり、返された一意の行ごとに、集計に使用可能な同一の行が2行以上存在している必要があります。1回しか発生しない行では、計算に必要な参照列の値が1つしか得られないため、エラーが発生します。
分析対象の集合がデータのサンプル集合を表している場合、より精度の高い結果を得るためにはvarを使用することをお勧めします。統計的分散を扱う関連関数として、stdevとstdevpがあります。
例
次のデータセットを使用して、varpがどのように演算を行うかを示します。この集計関数の動作を説明するという目的から、以下の表の数字はすべて(テキスト値ではなく)数値と考えてください。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.2 |
one | two | 0.1 |
one | two | 1.1 |
one | two | 0.2 |
one | two | 0.6 |
one | one | 0.2 |
one | one | 0.27 |
one | two | 0.2 |
one | two | 0.4 |
列C にvarp関数を適用すると、下表に示すように、行数が9行から2行に減ります。列VarP of Column Cの値は、演算中に折りたたまれた重複行の列Cに含まれている母集団の分散を示します。
列 A | 列 B | 列 C |
---|---|---|
one | two | 0.10571428571428572 |
one | one | 0.001225 |