2017-04-04 4 views
0

私はいくつかのNaN値を持つデータを持っており、imputerを使用してNaN値を入力したいと思います。Python:Importerを使用してデータフレームインデックスでデータを処理する

  Point1  Point2 
S.No 
      2    2 
1   1    4 
      2    2 
      1    4 
2   2    2 
      1    4 

が、私はimputerとしてインデックス賢明な名前を働きたい:データがどのように見えるimputer適用後

  Point1  Point2 
S.No 
      2    NaN 
1   NaN   4 
      2    NaN 
      NaN   4 
2   2    NaN 
      NaN   4 

:これまでのところ私はこのような列全体に imputer作品を知ら

from sklearn.preprocessing import Imputer 
imp = Imputer(missing_values='NaN', strategy='mean', axis=1) 
cleaned_data = imp.fit_transform(original_data) 

S.No

  Point1  Point2 
S.No 
      2    1.33 
1   1.333   4 
      2    1.33 
      0.667   4 
2   2    2.667 
      0.667   4 

imputerをこのように実装することも可能ですが、pythonDataFrameにこれを行う代替方法が存在します。

+0

ここでは「S.No」とは何ですか?インデックス?また結果を再現することもできません。あなたのデータフレームはパンダのデータフレームですか? – Psidom

+0

私はこのデータのようなデータをインポートします。= pd.read_csv( "filename.csv"、index_col = [0]);はい!! 'S.No'はインデックスであり、はいです!私のデータフレームはパンダのデータフレーム –

+0

あなたが帰属する変換を実行すると、Point1カラムは1ではなく4で埋められます。おそらく 'axis = 1'を設定したいのですか? – Psidom

答えて

0
imp = Imputer(missing_values=np.NaN,strategy='mean',axis=1) 
for S.No in range (start,end): 
    for col in list(Data.select_dtypes(include=['float']).columns): 
     Data[col][S.No] = imp.fit_transform(Data[col][S.No]) 
関連する問題