私は25の列を持つcsvファイルを持っています。いくつかは数値で、いくつかはカテゴリ化されていて、俳優や監督の名前のようなものもあります。このデータで回帰モデルを使いたい。これを行うには、scikitパッケージのLabelBinarizerを使用して、カテゴリの列の文字列型を数値に変換する必要があります。 複数のカテゴリデータを持つこのデータフレームでLabelBinarizeを使用するにはどうすればよいですか?データフレーム内の複数の列のLabelBinarizer
基本的に私は、ラベルを2値化し、データフレームにそれらを追加します。
以下のコードでは、二値化する列のリストを取得して、新しい列をdfに追加する方法を見つけることができませんでしたか?次のステップで
categorylist = ['color', 'language', 'country', 'content_rating']
for col in categorylist:
tempdf = label_binarizer.fit_transform(df[col])
、私はdf
にtempdf
を追加して、元の列のDF [COL]をドロップします。
pd.get_dummies
でワンライナーでこれを行うことができます
あなたのコードの 'df'はパンダのデータフレームですか? 'sklearn'メソッドの出力(あなたのコードに' fit_transform'のような)がnumpyの配列であることに注意してください!そのため、あなたのコードの 'tempdf'は' Pandas'データフレームではありません!まず、データフレームに変換する必要があります(例えば、 'newdf = pd.DataFrame(tempdf)')。それを 'df'に連結します。 'del df ['column_name']'を使って列を削除することもできます。 最後のコメントは、 'LableBinarizer'か' MultiLabelBinarizer'が必要かどうかを確認することです。 – MhFarahani