Python 数据加载和str.转换错误:';非类型';对象没有属性';格式';

Python 数据加载和str.转换错误:';非类型';对象没有属性';格式';,python,format,Python,Format,我正在尝试将stings转换为浮点和整数,并加载数据。它没有给我属性格式错误。请查看我的代码和错误。记住,这些代码来自著名的ML专家Janson # Convert string column to float def str_column_to_float(dataset, column): for row in dataset: row[column] = float(row[column].strip()) # Convert string column to i

我正在尝试将stings转换为浮点和整数,并加载数据。它没有给我属性格式错误。请查看我的代码和错误。记住,这些代码来自著名的ML专家Janson

# Convert string column to float
def str_column_to_float(dataset, column):
    for row in dataset:
        row[column] = float(row[column].strip())

# Convert string column to integer
def str_column_to_int(dataset, column):
    Salary_values = [row[column] for row in dataset]
    unique = set(class_values)
    lookup = dict()
    for i, value in enumerate(unique):
        lookup[value] = i
    for row in dataset:
        row[column] = lookup[row[column]]
    return lookup

# Load iris dataset
filename = 'C:\\Users\\Tesema\\Desktop\\PYTHON\\PYTHON3\\Salary.csv'
dataset = load_csv(filename)
print('Loaded data file {0} with {1} rows and {2} columns').format(filename, len(dataset),   len(dataset[0]))
print(dataset[0])
# convert string columns to float
for i in range(3):
    str_column_to_float(dataset, i)
# convert class column to int
lookup = str_column_to_int(dataset, 3)
print(dataset[0])
print(lookup)

AttributeError                            Traceback (most recent call last)
<ipython-input-11-bac32ee07342> in <module>
     27 filename = 'C:\\Users\\Tesema\\Desktop\\PYTHON\\PYTHON3\\Salary.csv'
     28 dataset = load_csv(filename)
---> 29 print('Loaded data file {0} with {1} rows and {2} columns').format(filename, len(dataset), len(dataset[0]))
     30 print(dataset[0])
     31 # convert string columns to float

AttributeError: 'NoneType' object has no attribute 'format'
#将字符串列转换为浮点
def str_列到浮点数(数据集,列):
对于数据集中的行:
行[列]=浮点(行[列].strip())
#将字符串列转换为整数
def str_column_to_int(数据集,列):
工资值=[数据集中行的行[列]
唯一=设置(类值)
lookup=dict()
对于i,枚举中的值(唯一):
查找[值]=i
对于数据集中的行:
行[列]=查找[行[列]]
返回查找
#加载虹膜数据集
文件名='C:\\Users\\Tesema\\Desktop\\PYTHON3\\Salary.csv'
数据集=加载\u csv(文件名)
打印('加载的数据文件{0},包含{1}行和{2}列')。格式(文件名,len(数据集),len(数据集[0]))
打印(数据集[0])
#将字符串列转换为浮点
对于范围(3)中的i:
str_column_to_float(数据集,i)
#将类列转换为int
lookup=str\u column\u to\u int(数据集,3)
打印(数据集[0])
打印(查找)
AttributeError回溯(最近一次呼叫上次)
在里面
27文件名='C:\\Users\\Tesema\\Desktop\\PYTHON\\PYTHON3\\Salary.csv'
28数据集=加载\u csv(文件名)
--->29打印('加载的数据文件{0},包含{1}行和{2}列')。格式(文件名,len(数据集),len(数据集[0]))
30打印(数据集[0])
31#将字符串列转换为浮点
AttributeError:“非类型”对象没有属性“格式”

括号太多:

替换:

print('加载的数据文件{0},包含{1}行和{2}列')。格式(文件名,len(数据集),len(数据集[0]))
与:

print('加载的数据文件{0},包含{1}行和{2}列'。格式(文件名,len(数据集),len(数据集[0]))

非常感谢您的回复,在用代码替换后,它产生了以下错误:加载了数据文件C:\Users\Tesema\Desktop\PYTHON\PYTHON3\Salary.csv,共13行4列:[“体验”、“测试分数”、“口语分数”、“薪水”]--------------ValueError:无法将字符串转换为浮点:“experience”好的,现在执行它是不同的错误,不同的行。它来自这里:
str\u column\u to\u float(数据集,i)
where-我想您正在尝试转换为float字符串头。因此,解决方案是在循环中调用该函数之前,从数据集中删除头,例如
dataset.pop(0)