2016-11-10 16 views
1
df: 

     cont1  cont2  cont3  cont4  cont5  cont6  cont7 
    0 0.726300 0.245921 0.187583 0.789639 0.310061 0.718367 0.335060 
    1 0.330514 0.737068 0.592681 0.614134 0.885834 0.438917 0.436585 
    2 0.261841 0.358319 0.484196 0.236924 0.397069 0.289648 0.315545 
    3 0.321594 0.555782 0.527991 0.373816 0.422268 0.440945 0.391128 
    4 0.273204 0.159990 0.527991 0.473202 0.704268 0.178193 0.247408 

Code: 

from sklearn import preprocessing 
min_max_scaler = preprocessing.MinMaxScaler() 

for each_column in df.columns: 
    df[each_column].reshape(1, -1) #suggested solution 
    df[each_column] = min_max_scaler.fit_transform(df[each_column]) 


Warning: 

validation.py:395: DeprecationWarning: Passing 1d arrays as 
data is deprecated in 0.17 and will raise ValueError in 0.19. 
Reshape your data either using X.reshape(-1, 1) if your data 
has a single feature or X.reshape(1, -1) if it contains a single sample. 
DeprecationWarning) 

間違いが何であるかを私に示唆してください。データをプリプロセッサにnumpy配列として渡していないからですか?DeprecationWarning:pandasデータフレームのデータを前処理中

私は提案された解決策にも同じ警告が表示されるように試みました。

答えて

0

推奨されていないことが警告されています。

使用df[each_column].reshape(-1, 1)またはdf[each_column].reshape(1, -1)

あなたがSeriesのドキュメントを読めばあなたはパンダが内部ndarrayを使用していることもわかりますどちらか。

+0

改造後、変換作業を行うために書いたコードを使用できますか? –

+0

うん。残りの部分には何も問題はありません。 – Batman

+0

はまだ同じ警告を受け取りました –

0

何かが推奨されなくなった場合、今後のバージョンでサポートされる予定がなくなったことを意味します。メッセージが説明しているように、1D配列を渡すとバージョン0.19でエラーが発生します。新しいコードを書く場合は、廃止予定の関数の使用を避け、メッセージの推奨に従ってください(配列の変形方法を使用してください)。

df[each_column].reshape(-1, 1)またはdf[each_column].reshape(1, -1)に電話するかどうかは、非推奨の警告メッセージで説明されているように、df[each_column]に含まれるデータの性質によって異なります。あなたの1D配列を「列」ベクトルまたは「行」ベクトルに変換します。

関連する問題