2017-10-21 43 views
1

私のデータフレームでは、ダミー変数に変換したいカテゴリ変数があります。この列は、しかし、コンマで区切って複数の値を持っていますコンマで区切られた文字列のpandasカラムをダミー変数に変換する

0 'a' 
1 'a,b,c' 
2 'a,b,d' 
3 'd' 
4 'c,d' 

最終的に、私はそれぞれの可能な離散的な値のためのバイナリ列を持つようにしたいと思います。つまり、最終列数は元の列の一意の値の数に等しくなります。 split()を使って別々の値を取得しなければならないと思いますが、後で何をすべきかはわかりません。どんなヒントもありがとう!

編集:追加のねじれ。列には値がありません。そして、コメントに応じて、以下は望ましい出力です。ありがとう!

a b c d 
0 1 0 0 0 
1 1 1 1 0 
2 1 1 0 1 
3 0 0 0 1 
4 0 0 1 1 
+1

あなたはあなたがダミー変数を表現したい、特に何を明確にする必要があります – bunji

+0

を与えてくれた例えば、予想される出力を提供していただけます。これは数学的な概念ですが、Pythonの可変システムの現実を満たす必要があります。 – jxramos

答えて

1

使用str.get_dummies

df['col'].str.get_dummies(sep=',') 

    a b c d 
0 1 0 0 0 
1 1 1 1 0 
2 1 1 0 1 
3 0 0 0 1 
4 0 0 1 1 
+0

私は愚かだと感じる....しかしこれはまさに私がやろうとしていたものです。ありがとうございました! – breakbotz

+0

あなたはしないでください。利用できるすべての機能を知っている人はごくわずかですが、残りの部分は学習の段階にあります:)すべて最高です – Vaishali

+0

これは明らかかもしれませんが、データがカンマとスペースで区切られている場合は、つまり、 'sep = '、''それ以外の場合は、重複する列で終わります。 – Huey

関連する問題