编写一个将使用 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"
我是 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"