【发布时间】:2017-11-14 16:10:42
【问题描述】:
对于任何不正确的措辞,请提前致歉。我没有找到答案的原因可能是因为我没有使用正确的术语。
我有一个看起来像这样的数据框
0 -0.004973 0.008638 0.000264 -0.021122 -0.017193
1 -0.003744 0.008664 0.000423 -0.021031 -0.015688
2 -0.002526 0.008688 0.000581 -0.020937 -0.014195
3 -0.001322 0.008708 0.000740 -0.020840 -0.012715
4 -0.000131 0.008725 0.000898 -0.020741 -0.011249
5 0.001044 0.008738 0.001057 -0.020639 -0.009800
6 0.002203 0.008748 0.001215 -0.020535 -0.008368
7 0.003347 0.008755 0.001373 -0.020428 -0.006952
8 0.004476 0.008758 0.001531 -0.020319 -0.005554
9 0.005589 0.008758 0.001688 -0.020208 -0.004173
10 0.006687 0.008754 0.001845 -0.020094 -0.002809
...
对于每一列,对于该列的最小值和最大值,我想将数据缩放到 -1.0 到 1.0 之间的浮点数。
我已经用scaler = MinMaxScaler(feature_range = (-1, 1)) 尝试了 scikit learn 的 minmax 缩放器,但是一些值因此改变了符号,我需要保留它。
有没有办法将缩放“集中”在零上?
【问题讨论】:
-
我只展示数据框的一个样本,所有列都有正负值
-
我看到你有消极和积极的价值观。你想保持0分吗?在这种情况下,只需将负数除以 df 的最小值(或行或列,无论您想标准化),正数除以最大值。
-
谢谢@GáborErdős,这可能会成功!
标签: python pandas scikit-learn