値に応じて順位の列を追加したい

カテゴリ変数と数値変数の2つの列があるとき、カテゴリ変数の値ごとに数値変数の値が大きい順に順位を付ける方法を説明します。組ごとに成績順に順位を付ける場合を例に説明します。

説明

キー列の同一ラベル内において、指定された列の値で順位付けをしたい場合があります。

例として下図のような、名前性別成績の列からなるテーブルデータがあり、成績の値が高い順にソートされているとします。

このとき、各組ごとに成績が高い順に順位を付けたいとします。

テーブル

MSIPでは、列追加アイコンで各組ごとの成績の順位をつけることができます。

実行結果

このように、各ラベルごとに順に番号を振りたい場合に使える機能です。

使い方

  1. データに列追加アイコンを接続します。
  2. パラメータ設定画面で「追加する列名」に任意の列名を指定します。
  3. 「計算式」にtable.numbering(key_cols=順位をつけたいグループの列)[-1]を記述します。今回の場合、順位を付けたいグループの列はの列なので、table.numbering(key_cols="組")[-1]と記述します。

設定画面

  1. 実行すると、各組ごとに成績が高い順に順位が付けられた列が追加され、その結果が出力されます。

OnePoint

データに順位付けする際には、順位付けしたい値(この例では成績)でデータがソートされている必要があります。

MSIPでは、ソートアイコンを使うことで簡単にデータをソートできますので、事前にソートアイコンでデータをソートしておいてください。

関連項目