条件によって値を変えた列を追加したい

条件によって値が定まる列を作成する方法を解説します。ExcelのIF関数に相当する機能です。

説明

条件を決め、それに当てはまるか否かで、異なる値を新たな列に作成します。列追加アイコンを利用します。

以下の例では、「利益」列の値が1000以上か否かという条件によって、「優良顧客フラグ」列の値を変えています。

result.png

使い方

  1. データに列追加アイコンを接続します。

    row<em>select</em>flow

  2. 設定画面を開き、「追加する列名」に新しい列名を入力します。

  3. 「計算式」に、次の形で式を記載します。 select((条件式, 条件に当てはまるときの値), default=条件に当てはらないときの値) これは、ExcelのIF関数の IF(条件式, 条件に当てはまるときの値, 条件に当てはらないときの値) という記法に対応します。

    列追加_1

  4. アイコンを実行すると、列が追加されたデータが出力されます。

例1)列の値と比較する

例として、次の動作を行う場合の方法を解説します。

  • 「優良顧客フラグ」列を追加し、「利益」列が 1000 以上の場合は文字列 優良、そうでない場合は文字列 非優良 とする

ある列の内容は table['列名'] で参照することができます。この場合の「計算式」は次のように表せます。

select((table['利益'] >= 1000, '優良'), default='非優良')

列追加_1

実行した結果、以下の様に「優良顧客フラグ」列が追加されます。

result.png

例2)列の値と複数の条件で比較する

例として、次の動作を行う場合の方法を解説します。

  • 「顧客ランク」列を追加し、「利益」列が 2000 以上の場合は文字列 A、1000 以上の場合は文字列 B、どちらにも当てはまらなない場合は C とする

複数の条件を指定したい場合、select((条件式1, 条件1に当てはまるときの値), (条件式2, 条件2に当てはまるときの値), ..., default=条件に当てはらないときの値) といった形式で複数の条件式を続けて記述することが可能です。条件式1、条件式2、...の順に判定されます。この場合の「計算式」は次のように表せます。

select((table['利益'] >= 2000, 'A'), (table['利益'] >= 1000, 'B'), default='C')

列追加_2

例3)特殊値か否かを判定する

例として、次の動作を行う場合の方法を解説します。

  • 「利益2」列を追加し、「利益」列が NA 等の特殊値であれば 0 を、そうでなければなければ「利益」列そのままの値を格納する

table['列名'].is_valid() で、特殊値かどうかを判定できます。特殊値ではない場合、この結果は真になるため、記述方法としては select((table['列名'].is_valid(), 特殊値でない場合の値), default=特殊値の場合の値) となります。この場合の「計算式」は、実際の条件を当てはめると次のように表せます。

select((table['利益'].is_valid(), table['利益']), default=0)

列追加_3

例4)複数の列の間で演算を行った値を追加する

例として、次の動作を行う場合の方法を解説します。

  • 「単価」列を追加し、「利益」列が NA 等の特殊値であれば 0 を、そうでなければ「利益」列 ÷ 「購買点数」列を計算した値を格納します。

この場合の「計算式」は次のように表せます。

select((table['利益'].is_valid(), table['利益'] / table['購買点数']), default=0)

列追加_4

select 関数の詳細な利用方法に関しては、MSI DataFrame マニュアル3.1.17. 条件判定と条件選択 をあわせてご参照ください。

分析への応用

分析では、数値の範囲に応じてカテゴリ化してから、目的変数や説明変数にしたい場合があります。(例1、例2)

また、データから NA 等の特殊値を除いてから分析したい場合もあります。(例3、例4)

このように、列追加アイコンを利用すると、分析のための柔軟な処理が可能となります。

OnePoint

ルールに応じてデータにラベルの列を追加したい と類似する機能です。ルールに応じてデータにラベルの列を追加したい では グルーピングアイコン を用いています。 グルーピングアイコンでは、追加される列は必ずカテゴリー型の列になりますが、列追加アイコンを用いると数値を追加することができます。

関連項目