6
我很難找到這個非for循環版本。說這是我的輸入:如何用pandas DataFrame中的另一行進行標準化?
In [94]: df
Out[94]:
N experiment color value value2
0 145000 0 red 0.30 0.363953
1 14000 1 red 0.31 0.218978
2 13000 2 red 0.29 0.948070
3 15000 0 yellow 0.31 0.620201
4 1200 1 yellow 0.32 0.567513
5 1400 2 yellow 0.31 0.318197
6 40000 0 green 0.29 0.947226
7 3000 1 green 0.31 0.084243
8 7000 2 green 0.32 0.961020
[9 rows x 5 columns]
實驗0是我的控制。我進行了各種顏色的這個實驗。我想匹配的顏色實驗0
In [104]: df
Out[104]:
N experiment color value value2 scaled_value scaled_value2
0 145000 0 red 0.30 0.363953 1.000000 1.000000
1 14000 1 red 0.31 0.218978 1.033333 0.590786
2 13000 2 red 0.29 0.948070 0.966667 2.604732
3 15000 0 yellow 0.31 0.620201 1.000000 1.000000
4 1200 1 yellow 0.32 0.567513 1.032258 0.914220
5 1400 2 yellow 0.31 0.318197 1.000000 0.512737
6 40000 0 green 0.29 0.947226 1.000000 1.000000
7 3000 1 green 0.31 0.084243 1.068966 0.088680
8 7000 2 green 0.32 0.961020 1.103448 1.014541
[9 rows x 7 columns]
看來我想零個參數精確的實驗,以自己的列允許容易分裂正常化的所有行,但我不能讓堆疊/旋轉/ concat'ing正常工作。我使用.at和賦值的for循環做了這個,但它感覺錯了。
接下來的步驟將被歸一化的多個列和創建upplower和從(N,值),(N,值2)來計算較低誤差界限,(N,other_values)等
查找到'sklearn'的'MinMaxScaler';我想他們已經優化了矢量操作。也很確定你可以餵它'pandas'數據http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html – Ryan
@Ryan,是不是在一個列中縮放值/數組?當我說歸一化時,我不是指矢量範圍(0,1),而是每個範圍除以外部值。 – physicsmichael