pandas.dataframeからtrain_test_splitによって作成されたnumpyアレイに欠損値を付与する方法は?
-
16-10-2019 - |
質問
SklearnとPandas.DataFrameを使用して、多くのNA値でデータセットに取り組んでいます。データフレームベースの列名のさまざまな列に異なる代入戦略を実装しました。たとえば、NAS予測因子「var1」私は0を含み、「var2」に平均を含みます。
Train_test_splitを使用してモデルを検証しようとすると、列名がないnparrayを返します。このnparrayに欠損値をどのように請求できますか?
PS私は意図的に分割する前に元のデータセットに欠損値を誘発しないので、テストと検証セットを個別に保持します。
解決
同じ戦略を実行できるように、train_test_splitからnparrayをPandasデータフレームに戻すことができますか。これは、PandasとScikitを扱うときに私がすることと非常に一般的です。例えば、
a = train_test_split
new_df = pd.DataFrame(a)
他のヒント
コメントで言及したリンクから、最初の説明に従った場合、トレインとテストセットはデータフレームの形式でなければなりません。
その場合、あなたは次のようなことをすることができます:
df[variable] = df[variable].fillna(df[variable].median())
n/a値に何を入力するかについてのオプションがあります。リンクをチェックしてください。http://pandas.pydata.org/pandas-docs/stable/missing_data.html
Sklearnの交差検証を使用して、2番目の説明に従うと、配列をデータフレームに変換するというMike1886の提案を実装してから、Fillnaオプションを使用できます。
所属していません datascience.stackexchange