複数列に於けるk-hot encode

k-hot encode values from multiple columns – StackOverflow

多分,機械学習に使う特徴量抽出とか前処理を想定すると,
scikit-learnを使うのがリーズナブルじゃないかな.

import pandas as pd
import numpy as np
from sklearn.preprocessing import MultiLabelBinarizer


df = pd.DataFrame(
    {
        'col_1': [1, 3, 2],
        'col_2': [2, 4, 6],
        'col_3': [np.nan, 5, np.nan],
        'col_4': [np.nan, 6, np.nan]
    }
)
print(df)

mlb = MultiLabelBinarizer()
res = mlb.fit_transform(df.fillna(0).values)[:, 1:]
print(res)
   col_1  col_2  col_3  col_4
0      1      2    NaN    NaN
1      3      4    5.0    6.0
2      2      6    NaN    NaN
[[1 1 0 0 0 0]
 [0 0 1 1 1 1]
 [0 1 0 0 0 1]]
広告
カテゴリー: 未分類 パーマリンク

複数列に於けるk-hot encode への5件のフィードバック

  1. ピンバック: pandas.Seriesをバイナライズ(文字列をダミー変数に置換) | 粉末@それは風のように (日記)

  2. ピンバック: 配列(アレイ)をビニング処理してバイナライズ | 粉末@それは風のように (日記)

  3. ピンバック: 列データのバイナライズ/ホットエンコード | 粉末@それは風のように (日記)

  4. ピンバック: Seriesの各文字列をsepで分割してワンホットエンコーディング | 粉末@それは風のように (日記)

  5. ピンバック: データフレーム内のリストデータをOne Hot Encoding | 粉末@それは風のように (日記)

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください