カテゴリ型の列に順番を定義し、任意の順に並べる方法を解説します。
説明
カテゴリ型は、値を文字列として保持するための列型ですが、 内部的には
- カテゴリ ID を値に持つ数値列
- カテゴリ ID と実際の文字列の対応表
の 2 つの配列で構成されています。
このカテゴリ ID は「データにおける出現順 (0 始まり) 」で定義されます。 また、内部 ID の割り当て順番は「カテゴリ順」と呼ばれます。
カテゴリ順を変更したい場合、「カテゴリ並替」アイコンを 利用することで、順番を定義し直すことができます。
カテゴリ順を変更することで、グラフ上のデータの並び順を指定することが可能です。
使い方
- データに カテゴリ並替 アイコン を接続します。ここでは「顧客データ.dft」を使用しています。 このデータは、共有ワークスペース > サンプル > Alkano > 顧客データ.dft にあります。
パラメータ設定画面の「対象列」に、カテゴリ型の列を選択します。
カテゴリ順序のテーブルで順序づけをします。 図のように、初期状態では値が出現した順でカテゴリ順が定義されています。 これを「10代」「20代」「30代」「40代」の順に並べ替えます。
アイコンを実行すると、並べ替えた順番でカテゴリ順が変更されたデータが出力されます。 内部的にはカテゴリ順が変更されていますが、出力テーブルの見かけは入力テーブルと同じです。
試しに棒グラフを描いて確認してみます。 図のように、「カテゴリ並替」アイコンのデータでは、指定した順番で棒グラフが表示できています。
分析への応用
データを「XS, S, M, L, XL」のようなサイズ順に並べたい場合や、都道府県順に並べたい場合などに利用できます。
なお、今回の「年代」のようなデータの場合、 文字列としての「昇順」でソートすることでも、 同じように「10代」「20代」「30代」「40代」の順で並べることは可能です。
OnePoint
カテゴリ順を変更することで、
- ソートアイコンの「カテゴリ順」
- 可視化機能でテーブルをソートする際の「カテゴリ順」
- 可視化機能でグラフの並び順を指定する際の「カテゴリ順」
における順序を変更する事ができます。
なお、Python スクリプトを記述することに慣れている場合は、
MSI DataFrame の reorder_categories
関数でも同様の結果を得ることができます。
扱うカテゴリの数が多く、アイコン上での設定が大変に感じる場合には、 「MSI DataFrame リファレンスマニュアル」をご参照の上、 Python スクリプトアイコンで処理を記述することもご検討ください。
参考
- MSI DataFrame ユーザーズガイド
- 3.1.4. 列型
- MSIP リファレンスマニュアル
- 3.10.6. カテゴリ並替