首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将变量归一化为最大值-最小的比例

将变量归一化为最大值-最小的比例
EN

Stack Overflow用户
提问于 2022-11-07 17:35:50
回答 1查看 32关注 0票数 -2

我试图使用规范化= 30 * (x-min(x))/(max(x)-min(x))到0-30标度来规范这个变量。

在python中,应该是:

代码语言:javascript
复制
new_escore = esg_funds['Portfolio Environmental Score'].apply(lambda x: 30*(x-esg_funds['Portfolio Environmental Score'].min())/(esg_funds['Portfolio Environmental Score'].max()-esg_funds['Portfolio Environmental Score'].min()))

esg_funds是我的数据,'Portfolio Environmental Score'是变量。

如何在这里使用apply()函数?

EN

回答 1

Stack Overflow用户

发布于 2022-11-07 18:19:12

由于R的矢量化操作,没有必要使用*apply()。相反,你可以:

代码语言:javascript
复制
new_escore <- 30 * (
    esg_funds[['Portfolio Environmental Score']] - min(esg_funds[['Portfolio Environmental Score']])
  ) / (
    max(esg_funds[['Portfolio Environmental Score']] - min(esg_funds[['Portfolio Environmental Score']]))
  )

或者更简洁一些,

代码语言:javascript
复制
normalize <- function(x) 30 * (x - min(x)) / (max(x) - min(x))

new_escore <- normalize(esg_funds[['Portfolio Environmental Score']])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74350655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档