私の質問は、パンダ データ フレームに非常に多くの列があり、次のような sklearn-pandas ライブラリのデータフレーム マッパーを使用して sklearn 前処理を適用しようとしていることです。
mapper= DataFrameMapper([
('gender',sklearn.preprocessing.LabelBinarizer()),
('gradelevel',sklearn.preprocessing.LabelEncoder()),
('subject',sklearn.preprocessing.LabelEncoder()),
('districtid',sklearn.preprocessing.LabelEncoder()),
('sbmRate',sklearn.preprocessing.StandardScaler()),
('pRate',sklearn.preprocessing.StandardScaler()),
('assn1',sklearn.preprocessing.StandardScaler()),
('assn2',sklearn.preprocessing.StandardScaler()),
('assn3',sklearn.preprocessing.StandardScaler()),
('assn4',sklearn.preprocessing.StandardScaler()),
('assn5',sklearn.preprocessing.StandardScaler()),
('attd1',sklearn.preprocessing.StandardScaler()),
('attd2',sklearn.preprocessing.StandardScaler()),
('attd3',sklearn.preprocessing.StandardScaler()),
('attd4',sklearn.preprocessing.StandardScaler()),
('attd5',sklearn.preprocessing.StandardScaler()),
('sbm1',sklearn.preprocessing.StandardScaler()),
('sbm2',sklearn.preprocessing.StandardScaler()),
('sbm3',sklearn.preprocessing.StandardScaler()),
('sbm4',sklearn.preprocessing.StandardScaler()),
('sbm5',sklearn.preprocessing.StandardScaler())
])
多くの変数を明示的に書き出さずに一度に前処理するための、より簡潔な方法が他にないかどうか疑問に思っています。
少し面倒だと思ったもう 1 つのことは、すべての pandas データ フレームを sklearn が使用できる配列に変換すると、列名の機能が失われ、選択が非常に難しくなることです。パンダのデータ フレームを np 配列に変更するときに、列名をキーとして保持する方法を知っている人はいますか?
どうもありがとう!