2017-07-27 41 views
0

我想正常化的所有列的熊貓數據幀一起規範化大熊貓據幀的所有列一起

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

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

OUT:

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

我怎樣才能得到列x和y一起歸一化,如

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

謝謝!

回答

1

,因爲它是NumPy的標籤,這是一個使用底層陣列數據的一個 -

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 

或者保持接近pandas,我們可以做 -

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

就像一個魅力的工作!謝啦。 –