4

df最近、次のようなデータフレームがある場合に注目されました。

   A      B   C
0  0   Boat  45
1  1    NaN  12
2  2    Cat   6
3  3  Moose  21
4  4   Boat  43

次を使用して、カテゴリ データを自動的にエンコードできますpd.get_dummies

df1 = pd.get_dummies(df)

これにより、次のようになります。

   A   C  B_Boat  B_Cat  B_Moose
0  0  45     1.0    0.0      0.0
1  1  12     0.0    0.0      0.0
2  2   6     0.0    1.0      0.0
3  3  21     0.0    0.0      1.0
4  4  43     1.0    0.0      0.0

私は通常LabelEncoder().fit_transform、この種のタスクを に入れる前に使用しpd.get_dummiesますが、いくつかの手順をスキップできる場合は、それが望ましいでしょう。

pd.get_dummiesデータフレーム全体を使用してエンコードする だけで何かが失われますか?

4

1 に答える 1

6

LabelEncoderはい、文字列の特徴のみをエンコードする場合は、 の使用をスキップできます。一方、(文字列ではなく)整数のカテゴリ列がある場合は、pd.get_dummiesそのまま残します(たとえば、AまたはC列を参照してください)。その場合は、を使用する必要がありますOneHotEncoderOneHotEncoder整数と文字列の両方をサポートするのが理想ですが、これは現在作業中です。

于 2016-09-22T21:25:38.010 に答える