编写一个将使用 min max 方法或 z-score 方法进行归一化的函数

Writing a function that will normalize using either min max method or z-score method

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

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

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 计算的线路上遇到错误,并且一直在努力解决它。如果能给我指明正确方向的任何帮助,我将不胜感激。 谢谢

编辑:显示的错误消息是 “语法错误:扫描字符串文字时 EOL”

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