首页 > 解决方案 > 在 python 中对数据进行规范化时,出现此错误:错误评估因子:TypeError:列表索引必须是整数或切片,而不是 str

问题描述

我的数据:

absent_data.head()

我的数据

在它运行顺利之前,这是我的代码:

cnames = ['Transportation expense', 'Distance from Residence to Work',
   'Service time', 'Age', 'Work load Average/day ', 'Hit target',
   'Son', 'Pet', 'Weight','Body mass index',
   'Absenteeism time in hours']

#Nomalization
for i in cnames:
    print(i)
    absent_data[i] = (absent_data[i] - min(absent_data[i]))/(max(absent_data[i]) - min(absent_data[i]))

现在收到此错误:

TypeError Traceback (last recent call last) in () 2 for i in cnames: 3 print(i) ----> 4 missing_data[i] = (absent_data[i] - min(absent_data[i]))/(max (absent_data[i]) - min(absent_data[i]))

TypeError:“numpy.float64”对象不可调用

之前也是浮动的。

标签: pythonnormalization

解决方案


我猜您正在为minor分配一个浮点值max,并且minormax函数被覆盖。重新启动您的笔记本并删除最重要的部分,然后您将获得预期的结果。

否则,只需使用sklearn.preprocessing.MinMaxScaler而不是自己实现它。

规范化熊猫数据框的列


推荐阅读