在一定范围内标准化/缩放数据帧
我有以下数据框:
pd.DataFrame({'DateTime': {0: Timestamp('2022-02-08 00:00:00'),
1: Timestamp('2022-02-08 00:10:00'),
2: Timestamp('2022-02-08 00:20:00'),
3: Timestamp('2022-02-08 00:30:00'),
4: Timestamp('2022-02-08 00:40:00')},
'wind power [W]': {0: 83.9, 1: 57.2, 2: 58.2, 3: 48.0, 4: 69.5}})
DateTime wind power [W]
0 2022-02-08 00:00:00 83.9
1 2022-02-08 00:10:00 57.2
2 2022-02-08 00:20:00 58.2
3 2022-02-08 00:30:00 48.0
4 2022-02-08 00:40:00 69.5
如您所见,83.9 是第二列中的最大值,48.0 是最小值。我想将这些值标准化在 0.6 和 8.4 之间的范围内,这样 83.9 就会变成 8.4,48.0 就会变成 0.6。其余的数字将介于两者之间。 到目前为止,我只能使用代码将列规范化为 0-1 的范围:
df['normalized'] = (df['wind power [W]']-df['wind power [W]'].min())/(df['wind power [W]'].max()-df['wind power [W]'].min())
我不知道如何进一步继续将这些数字置于我想要的范围内。有人可以帮我吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我们可以使用
MinMaxScaler
为了执行特征缩放,MinMaxScaler
支持一个名为feature_range
的参数,它允许我们指定转换数据的所需范围。或者,如果您不想使用
MinMaxScaler
,这是一种仅在 pandas 中缩放数据的方法:We can use
MinMaxScaler
to perform feature scaling,MinMaxScaler
supports a parameter calledfeature_range
which allows us to specify the desired range of the transformed dataAlternatively if you don't want to use
MinMaxScaler
, here is a way scale data in pandas only:您可以使用:
You can use the wikipedia definition of feature scaling if you don't want to use
sklearn
: