ワンホットエンコーディングされた列を元の1つの列にまとめる方法

以下のようにワンホットエンコーディングされ、該当する場合は「1」を、そうでない場合は「0」の値を持った列があったとします。

image

これを1つの列にまとめて、SMSやメールなどといった文字列の値を持つように変換したいです。

該当する列をシフトキーを押しながら選択し、列ヘッダメニューから「ワイド型からロング型へ」の「選択された範囲」を選択します。

image

ワイド型からロング型へのダイアログが表示されるため、キー列と値の列の列名を指定して実行します。

image

これによってロング型のデータの形式に変換することができました。

image

値が0の場合は不要となるため、値の列から「フィルタ」の「等しい」を選択します。

image

値には「1」を指定して実行します。

image

これによって、元のデータと同じ行の単位に戻しつつも、ワンホットエンコーディングで展開された列の値をカテゴリーの値として持つことができるようになりました。

image

あとは、必要に応じてテキストデータの加工を行います。

タイプの列ヘッダメニューから「テキストデータの加工」を選び、「取り除く」の「文字列」を選択します。

image

取り除きたい文字を指定して実行します。

image

これによって文字列をきれいに整えることができました。

image