0

現在、私はタイタニックのデータセットに取り組んでいます。それは4-5の非数値列で構成されています。 sklearn.LabelEncoderクラスを適用して、これらの非数値列のエンコードされた値を取得します。私は間違いなく、このメソッドを1つずつ各列に適用できます。しかし、このようなコラムが20-30本以上あると、仕事は面倒になるでしょう。私はそのような非数値列の名前を知っているので、簡単な方法でこれを行うための洗練された方法はありますか?パンダの複数の列にラベルをエンコードする

+0

が希望でしたオブジェクトの種類を選択した後にループを実行 'fillna' https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.fillna.html –

+0

いいえ!私はsklearn.LabelEncoderという用語自体を質問しました – HrishikeshKulkarni

+0

名前とラベルエンコーダーでforループを使用するのはなぜですか? –

答えて

-1

ちょうど

obj_cols = df.select_dtypes(include=[object]) 

for i in obj_cols: 
    df[i+'label'] = le.fit_transform(df[i]) 
+0

単一のlabelencoderオブジェクトの使用' le'は列車とテストデータ。 –

+0

ラベルエンコーディングを実行する前に列車データとテストデータを組み合わせることを常にお勧めします。ラベル・エンコーダを別々に実行すると、常にテスト・データに新しいカテゴリがある可能性があります –

+0

"test"のポイントは新しいものをシミュレートするため、何かのために "train and test data ... before"あなたがプロダクションで取得したデータであり、そのようなデータがどのようなものになるかは事前に分かりません –

関連する問題