我创建了一个函数,通过csv文件进行排序并将列表返回到元组中,但列表中的项目是字符串,如何将它们转换为浮点数?
我需要使用这些数据进行计算,例如均值,中位数等。
def load_data(filename):
datasets = []
for line in open(filename):
line = line.strip().split(",")
dataset = ((line[0],line[1:]))
datasets.append(dataset)
return datasets
目前我的数据在打印时显示为('Slow Loris', [' 21.72', ' 29.3', ' 20.08', ' 29.98',......
等,如何删除数字周围的' '
答案 0 :(得分:1)
您可以创建一个新列表并附加类似的类型...
list_of_floats = list()
for item in list_of_strings:
list_of_floats.append(float(item))
或者遍历每个值并将其更改为当前位置......
for i in range(len(list_of_strings)):
list_of_strings[i] = float(list_of_strings)
答案 1 :(得分:1)
def load_data(filename):
datasets = []
for line in open(filename):
line = line.strip().split(",")
floats = [float(x) for x in line[1:]]
dataset = ((line[0],floats))
datasets.append(dataset)
return datasets
答案 2 :(得分:1)
使用float()函数将其类型化为float。