微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

基于另一列缩放数据框中的列

如何解决基于另一列缩放数据框中的列

我有如下所示的数据框:

column1 column2 column3
1 0.01 0.001
2 0.02 0.002
3 0.03 0.003

我想根据第 1 列的最小和最大缩放器缩放第 2 列和第 3 列,以获得以下结果:

column1 column2 column3
1 1 1
2 2 2
3 3 3

这些数字只是为了轻松理解问题而估算的。

我在网上看到的所有解决方案基本上都使用最小最大值,它们在 0-1 之间缩放列,但我想根据第一列的最小值最大值来缩放它。

解决方法

您可以在第 1 列上安装一个最小-最大缩放器并将其应用于其他列:

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
scaler.fit(df['column1'])

将其应用于第 i 列:

df['column_i'] = scaler.transform(df['column_i'])
,

@Adrien's answer 非常好,但如果你想在没有外部依赖的情况下做到这一点:

MIN = df.min()
MAX = df.max()
(df-MIN)/(MAX-MIN)*(MAX['column1']-MIN['column1'])+MIN['column1']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。