【发布时间】:2019-03-30 20:59:59
【问题描述】:
我正在从 CSV 文件创建一个 Numpy 数组,它确实可以工作,但在 for 循环结束时它给出了上述错误。
我有一个 5 列的数据集,并一直在尝试创建一个 Numpy 数组。但是,代码只适用于文件列,一旦我将代码更改为:
values=[float(x) for x in line.split(',')[0:]]
在此处输入代码`它给了我以下错误:
File "CNN_ambPressure.py", line 14, in <module>
values=[float(x) for x in line.split(',')[0:]]
File "CNN_ambPressure.py", line 14, in <listcomp>
values=[float(x) for x in line.split(',')[0:]]
ValueError: could not convert string to float:
import os
import numpy as np
from matplotlib import pyplot as plt
f=open('Folds5x2_pp.csv')
data=f.read()
f.close()
lines=data.split('\n')
header=lines[0].split(',')
lines=lines[1:]
float_data=np.zeros(((len(lines)),len(header)))
for i, line in enumerate(lines):
values=[float(x) for x in line.split(',')[0:]]
print(values)
我希望只输出给定大小的 Numpy 数组而不会出现错误。我附上了一些图片来展示当我选择从数据集中只有 4 列时它是如何工作的,以及当我选择从数据集中有 5 列时它是如何工作的。
Code with the error after I changed line code #14 to have all column No error when I change to have only 4 columns
【问题讨论】:
-
请在您的问题中包含所有详细信息。不鼓励使用代码/错误图像。
-
是的,我已经在帖子中解释了错误,只是添加了图片作为额外的。如果我需要在帖子中澄清细节,请告诉我。
标签: numpy dataset python-3.6