我正在尝试从文件中导入数据,然后将其添加到数组中。我知道这不是将元素添加到numpy数组的最佳方法。但是,为什么数据没有追加? csv的最后一个元素是1.1,这就是我执行print(dd)
后得到的结果with open('C:\\Users\jez40\.PyCharmCE2018.2\8_Data.csv', 'r') as data_file:
data = csv.reader(data_file, delimiter=',')
for i in data:
t = []
d = []
dd = []
t.append([float(i[0])])
d.append([float(i[1])])
dd.append([float(i[2])])
t = np.array(t)
d = np.array(d)
dd = np.array(dd)
print (dd)
答案 0 :(得分:1)
问题的根源在于以下事实:循环的每次迭代都将t
,d
和dd
重新分配给空列表[]
。如果最终目标是为这些变量获取numpy
数组,我建议使用pd.read_csv()
将csv文件转换为数据帧。将此示例csv:
t,d,dd
1,2,3
4,5,6
7,8,9
使用pd.read_csv()
:
df = pd.read_csv(r'C:\\Users\jez40\.PyCharmCE2018.2\8_Data.csv')
礼物:
t d dd
0 1 2 3
1 4 5 6
2 7 8 9
然后,您可以查询您的列以将其返回为pd.Series()
:
t = df['t']
d = df['d']
dd = df['dd']
或者您可以将它们转换为np.array()
:
t = np.array(df['t'])
d = np.array(df['d'])
dd = np.array(df['dd'])