我找不到不使用for循环版本的代码。假设这是我的输入:
实验0是我的对照组。我为各种颜色执行了这个实验。我想通过匹配颜色的实验0来标准化所有行。
似乎我想将实验零参数提取到它们自己的列中以便于进行简单的除法,但我无法正确地进行堆叠/透视/连接。我使用了for循环和.at来分配值,但感觉这样做是错误的。
接下来的步骤将是对多个列进行归一化,并从(N,value),(N,value2),(N,other_values)等计算上限和下限误差边界。
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]
似乎我想将实验零参数提取到它们自己的列中以便于进行简单的除法,但我无法正确地进行堆叠/透视/连接。我使用了for循环和.at来分配值,但感觉这样做是错误的。
接下来的步骤将是对多个列进行归一化,并从(N,value),(N,value2),(N,other_values)等计算上限和下限误差边界。
sklearn
的MinMaxScaler
;我想他们已经优化了向量操作。而且我很确定你可以将pandas
数据输入其中。http://scikit-learn.org/stable/modules/generated/sklearn.preprocessing.MinMaxScaler.html - Ryan