我试图弄清楚如何打印和格式化前两行列表,该列表作为csv文件读入并转换为浮点数据(Python v2.7)。然后将数据标准化。我可以通过为每一行使用单独的打印行打印出行,但我无法弄清楚如何只显示小数点后面的前3位。
根据我的尝试,我有时会收到以下错误消息:未知的格式代码' f'对于类型' str'的对象 - 但是数据被转换为浮点数 - 所以我不理解消息。
有关如何打印和格式化前2行的任何提示?我试过这里https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions,但无法解决任何问题。
# Normalize columns
normalize_dataset(dataset, minmax)
print ('1st row after normalization', dataset[0])
print ('2nd row after normalization', dataset[1])
#for row in range(2):
# print dataset
[format(row, '.3f') for row in dataset]
#print ("Normalization", format(dataset, '.3f'))
当我只打印两行没有格式化时,附加是输出,每行使用一个单独的行。 output
更新了我用于将字符串转换为float的代码:
for i in range(len(dataset[0])):
str_to_float(dataset, i)
def str_to_float(dataset, column):
for row in dataset:
row[column] = float(row[column].strip())
答案 0 :(得分:0)
使用.format
方法。
print("{0:.2f}".format(dataset))