【问题标题】:Writing a function that will normalize using either min max method or z-score method编写将使用 min max 方法或 z-score 方法进行归一化的函数
【发布时间】:2021-11-07 03:41:13
【问题描述】:

我对 Python 还很陌生,所以可能有很多需要改进的地方,但是在下面的代码中,我试图编写一个函数来获取数据文件的位置、必须规范化的属性和要执行的归一化类型('min_max' 或 'z_score')

在此之后,根据提到的规范化类型,我希望它应用适当的公式并返回一个字典,其中键 = 数据集中的原始值,值 = 规范化值。

def normalization (fname, attr, normType):

result = {
    
}
 
df = pd.read_csv(fname)
targ = list(df[df.columns[attr]])
scaler = MinMaxScaler()
 
df["minmax"] = scaler.fit.transform(df[[df.columns[attr]]])

df["zscore”] = ((df[[df.columns[attr]]]) - (df[[df.columns[attr.mean()]]]))/ (df[[df.columns[attr.std(ddof=1)]]])

if normType == "min_max":
    
        
        result = dict(zip(targ, df.minmax.values.tolist())
else:
               
        result = dict(zip(targ, df.zscore.values.tolist())


return result

我不断收到与 zscore 计算有关的错误,并且一直在努力解决它。我将不胜感激任何可以为我指明正确方向的帮助。 谢谢

编辑:显示的错误消息是 "SyntaxError: EOL 扫描字符串文字时"

【问题讨论】:

  • 您能否编辑您的帖子以包含完整的错误消息,以便我可以更好地帮助您?

标签: python dataframe normalization


【解决方案1】:

"zscore” 单独导致该错误。问题是 不是正确的双引号字符,因此字符串没有正确终止。不确定它是如何到达那里的,可能是在粘贴代码时文档中的格式不正确。修复:"zscore"

【讨论】:

    猜你喜欢
    • 2015-03-09
    • 2019-07-19
    • 2021-08-13
    • 2016-10-19
    • 2019-12-07
    • 1970-01-01
    • 1970-01-01
    • 2017-05-10
    • 2011-03-05
    相关资源
    最近更新 更多