2017-07-27 4 views
0

ich Pandas Datenrahmen mit allen Spalten zusammenNormalisieren Pandas Datenrahmen mit allen Spalten zusammen

In [8]: df 
Out[8]: 
    x y 
0 1 2 
1 2 3 
2 3 4 

I

df_nor = (df-df.min())/(df.max()-df.min()) 

OUT Sie normalisieren wollen:

In [10]: df_nor 
Out[10]: 
    x y 
0 0.0 0.0 
1 0.5 0.5 
2 1.0 1.0 

Wie kann ich Spalte x und y werden zusammen wie

normalisiert
In [10]: df_nor 
Out[10]: 
    x y 
0 0.000 0.333 
1 0.333 0.666 
2 0.666 1.000 

Vielen Dank!

Antwort

1

Da es NumPy markiert, hier ist man die zugrunde liegenden Array Daten -

In [54]: a = df.values # get underlying array 

In [55]: pd.DataFrame((a-a.min())/(a.max()-a.min()), columns=df.columns) 
Out[55]: 
      x   y 
0 0.000000 0.333333 
1 0.333333 0.666667 
2 0.666667 1.000000 

Alternativ näher pandas bleiben, könnten wir tun -

In [79]: (df-df.values.min())/(df.values.max()-df.values.min()) 
Out[79]: 
      x   y 
0 0.000000 0.333333 
1 0.333333 0.666667 
2 0.666667 1.000000 
+0

Arbeit wie ein Zauber! Danke, Mann. –

Verwandte Themen