数组未附加

时间:2018-09-29 19:07:50

标签: python arrays numpy append

我正在尝试从文件中导入数据,然后将其添加到数组中。我知道这不是将元素添加到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)

1 个答案:

答案 0 :(得分:1)

问题的根源在于以下事实:循环的每次迭代都将tddd重新分配给空列表[]。如果最终目标是为这些变量获取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'])