pandas.dataframeからtrain_test_splitによって作成されたnumpyアレイに欠損値を付与する方法は?

datascience.stackexchange https://datascience.stackexchange.com/questions/927

質問

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オプションを使用できます。

ライセンス: CC-BY-SA帰属
所属していません datascience.stackexchange
scroll top