1
Imputer.fit_transform()
をデータセットに適用した後、変換されたデータフレームの列名が失われています。列名を失うことなくそれを置き換える方法はありますか?Pythonで欠損値代入
Imputer.fit_transform()
をデータセットに適用した後、変換されたデータフレームの列名が失われています。列名を失うことなくそれを置き換える方法はありますか?Pythonで欠損値代入
質問のコメントで述べたように、データフレームの値をImputerから返されたデータで置き換える(再割り当てする)だけです。
これはあなたのデータフレームであるとしましょう:
import numpy as np
import pandas as pd
df = pd.DataFrame(data=[[1,2,3],
[3,4,4],
[3,5,np.nan],
[6,7,8],
[3,np.nan,1]],
columns=['A', 'B', 'C'])
現在df
:
A B C
0 1 2.0 3.0
1 3 4.0 4.0
2 3 5.0 NaN
3 6 7.0 8.0
4 3 NaN 1.0
あなたはこの使用し、Imputerにdf
全体を送信している場合は、次の場合
df[df.columns] = Imputer().fit_transform(df)
をいくつかの列だけを送信してから、それらの列を使用して割り当てますn個の結果:
columns_to_impute = ['B', 'C']
df[columns_to_impute] = Imputer().fit_transform(df[columns_to_impute])
出力:
A B C
0 1.0 2.0 3.0
1 3.0 4.0 4.0
2 3.0 5.0 4.0
3 6.0 7.0 8.0
4 3.0 4.5 1.0
こんにちは、SOへようこそ。ヘルプページ、特に[ここではどのトピックについて聞かせていただけますか?](http://stackoverflow.com/help/on-topic)と[質問しないでください。」](http://stackoverflow.com/help/dont-ask)。さらに重要なことは、[Stack Overflow question checklist](http://m...content-available-to-author-lyly.e.e.com/q/156810/204922)をお読みください。また、[最小、完全、および検証可能な例](http://stackoverflow.com/help/mcve)についても知りたいことがあります。おそらくあなたの質問を書式化して、これまでのあなたの仕事を見せてください。 – cse
オリジナルのデータフレームの列を使用して、新しい返されたものを折り返します。 –
えええええええええええええええと、彼らはお互いから独立している..しかし、Viveksのソリューションは大丈夫です。 – dmeu