この記事の概要
KNIME(ナイム)のGroupBy(グループバイ)を解説。
このノードは重複する行を1つにまとめることができるノード。
重複する行を1つにまとめると同時に合計値(SUM)計算や平均値計算なども可能です。
大量のデータを一気にまとめ上げることができます!
そのほかの代表的なノードの一覧はこちら。
まえがき
どうもシャイン社員です!
最近ドミニオンというカードゲームにハマっています!
オンラインでも遊べるDominion Onlineがオススメです。
無料でできますので良ければ一緒にやりたい人、募集中です!
GroupBy(グループバイ)の使い方
重複している行を1つにまとめたいと思ったことはありませんか?
何行にもわたって重複した内容が書いてある…
伝票処理や統計表で合計値や平均値を求めたい…
エクセルだとピボットなどの機能を用いて1つに纏めることが多いと思います。
KNIMEではGroupBy(グループバイ)というノードを使うことで
簡単に重複するデータを1つに纏めることができます。
下記のような具合ですね。
それでは詳細説明をしていきます。
重複する項目を1つにまとめる
例として下記のような表を作ってみました。
伝票処理表?のようなものです(*'ω'*)
取引先と伝票番号に対して取引内容と日時、金額が書かれています。
今気づきましたが下記の表の書き方の場合は伝票番号ではなく、取引先番号ですね…。
スミマセン…。
複数の取引先と何回も取引していますね。
例えばこの表の「初芝産業」の取引が何回かありますが、
合計何回の取引で合計金額はいくらなんでしょうか?
これをGroupByノードを使用して取引先ごとにまとめていこうと思います。
Excel Reader(エクセルリーダー)でファイルを読み込んでGroupByでまとめます。
String Manipulationは本来不要です。
金額の列がDouble型で詠み込まれたのをInt型に戻しているだけなので
無くてもOKです。
Configure(設定)Groups画面の解説
Configure画面(設定)について解説します。
まずはこのGroups画面から解説し、画面は下記のようになります。
Available column(s):
ここに表示されている列(カラム)のデータが集計されます。
なのでここは合計値や平均値や出現回数など
関数によって求めたい数字が含まれる列を選択します。
今回は金額と日時、内容を集計します。
Groups column(s):
ここで選択されている列(カラム)の内容ごとにデータをまとめます。
今回は伝票番号(取引番号)と取引先ごとにデータをまとめます。
Configure(設定)-Manula Aggregation画面の解説
さきほどAvailable column(s)で選択した列(カラム)がここに追加されています。
ここに表示されている列(カラム)を関数を使って集計します。
集計したい列(カラム)を選択し「add」をクリックします。
すると右側の項目に選択した列(カラム)が追加されます。
Aggregation(click to change)の欄をクリックすると
集計方法がずらっと出てくるので、希望の集計方法を選択します。
金額→合計(Sum):取引先ごとの合計金額を算出
日付→カウント(Count):取引回数を算出
内容→リスト(List):取引内容をリスト化して出力
集計方法(Aggregation)の種類
カラムの計算方法についてよく使う項目を説明します。
List:リスト形式で集計します。
文字列をすべて1行で集計し[]で囲まれたカンマで区切られたデータで出力します。
List(sort)はアルファベット順に項目を並び替えてくれます。
Maximum:集計するデータの中で最大値を表示します。
Minimum:集計するデータの中で最小値を表示します。
Missing value count:データの中の欠損値をカウントしその個数を表示します。
First:データの最初の文字列、数字を表示します。
Last:データの最後の文字列、数字を表示します。
Percent:同じデータが全体に占める割合をパーセントで表示します。
SUM:データの合計値を算出します。(Int/Double/Long型のみ)
Mean:データの平均値を算出します。(Int/Double/Long型のみ)
Median:データの中央値を算出します。(Int/Double/Long型のみ)
Standard devitation:データの標準偏差を算出します。(Int/Double/Long型のみ)
Mean absolute deviation:データの平均絶対偏差を算出します。(Int/Double/Long型のみ)
Median absolute deviation:データの中央絶対値偏差を算出します。(Int/Double/Long型のみ)
あとがき
いかがでしたでしょうか?
活躍の場面が多いGroupByノードは大量のデータを一気にまとめることができる
強力なノードなので、ぜひ使い方を覚えて活用しましょう!
それでは!
0 件のコメント:
コメントを投稿
ここにコメントを書いてね!