сохранение массивов в несколько столбцов вместо добавления в один большой столбец - PullRequest
0 голосов
/ 09 мая 2018

Моя программа включает в себя процесс цикла, который генерирует два массива 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')

1 Ответ

0 голосов
/ 09 мая 2018

Я не думаю, что открытие в режиме добавления является правильным подходом для добавления столбцов, это работает только для добавления строк.

Но вы могли бы это:

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=",")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...