我的程序包含一个循环过程,在每次迭代时生成两个数组predict_result
和ground_truth
。每个数组都具有维度,例如[100,1]
。我想将每个数组保存到单独的csv文件中的新列中。
这是主要代码段。但是,我发现在执行程序后,每个数组都会附加到原始数组中。换句话说,我得到两个大的单列文件,而不是两个多列文件。如果我删除mode='a'
函数中的to_csv
,新列将覆盖旧列。
with open(file_1, 'w+') as predict_csv, open(file_2 , 'w+') as truth_csv:
for ij in range(0,100):
# some other code here
# predict_result is an array of shape, e.g., [100,1]
# ground_truth is also an array of shape, e.g.,[100,1]
predict_result_pd = pd.DataFrame(predict_result)
ground_truth_pd = pd.DataFrame(ground_truth)
predict_result_pd.to_csv(predict_csv,header=False,mode='a')
ground_truth_pd.to_csv(truth_csv,header=False,mode='a')
答案 0 :(得分:0)
我不认为打开追加模式是添加列的正确方法,这仅适用于添加行。
但你可以这样:
data = []
for some loop:
data.append[some_row] # make sure some row has shape (n,), not (n,1)
data = np.array(data).T
# now your data in arranged in columns
# and you can save it to whatever format you like for example:
np.savetxt("foo.csv", data, delimiter=",")