【发布时间】:2015-01-02 17:49:13
【问题描述】:
我已经使用 Python 工作了几个月..现在,我必须对我的数据集(.csv 文件)的一列执行最小-最大规范化,我得到上述类型错误..我有尝试了很多,但它仍然存在..为 min 和 max 函数检索正确的值,但结果的类型是列表而不是浮点/整数..
这是导致错误的行
for i in range(num):
normalized[i]=(krr[i]-min(krr)/(max(krr)-min(krr))
其中 krr 是从数据集中检索到的列。请帮助。
我有一个“正常”函数,它可以进行最小-最大归一化.. 我已经使用 eval 获取列值,如代码所示
def normal(self,arr,num):
print("------------------->entered Normalisation block----------------->")
for i in range(num):
# trr=eval(str(arr[i]))[0:-31]
self.krr[i]=map(float,eval(str(arr[i]))[0:-31]) //extracting one particular column
#mn=min(self.krr)
#mx=max(self.krr)
print(self.krr)
ls=min(self.krr)
hs=max(self.krr)
diff=hs-ls
for i in range(num):
normalized[i]=(self.krr[i]-ls)/diff
【问题讨论】:
-
该代码对我来说很好,您可以尝试编辑您的问题以添加您遇到的错误的整个回溯吗?
-
krr是一个带有嵌套列表的列表。您需要更改访问索引的方式。 -
也是 krr 实际外观的代表性部分。
-
是的,你能提供更多关于 krr 变量的细节吗?
-
@limelights:Thank You..krr 是 list 的 list..下面是 krr list [[31.0], [61.0], [116.0], [123.0], [27.0] 的值, [77.0], [60.0], [77.0], [119.0], [76.0], [123.0], [125.0]]..那么我现在如何访问它
标签: python normalization pyscripter