2016-11-29 1 views
-1

У меня есть массив переменных ответа, которые у меня есть, используя регрессионный анализ, используя дополнительный код.Как добавить массив в качестве столбца в существующий файл csv в python?

SalePrice_baseline = reg2.predict(test) 

Результат выглядит,

array([[ 103612.29783843], 
     [ 95608.74582384], 
     [ 178230.07228516], 
     ..., 
     [ 172559.98073767], 
     [ 121881.65675305], 
     [ 218179.82985471]]) 

У меня есть существующий тест CSV файл всех входных переменных, как test.csv. Я хочу добавить этот массив в новый столбец.

Как это сделать?

спасибо.

+0

прочитайте все столбцы из файла csv, добавьте столбец в столбцы в памяти, напишите все столбцы в файл csv. – furas

ответ

-1

Попробуйте это:

with open('test.csv', 'w') as csv_file: 
    writer = csv.writer(csv_file) 
    for row in SalePrice_baseline: 
     writer.writerow(row) 
+0

не добавляет новый столбец в столбцы, существующие в файле. – furas

+0

Правильно, моя ошибка –

1

Если файл CSV имеет такое же количество строк, как ваш вектор, то вы можете прочитать строку в виде строки, а затем распечатать его плюс запятая плюс соответствующее значение вектора

with open('a.csv') as inp: 
    with open('b.csv', 'w') as out: 
     for line, value in zip(inp, vector) 
      line = line.rstrip() 
      print(line, ',', value, sep='', file=out) 
+0

Вы также можете использовать встроенный csv-writer, как в [другом ответе] (http://stackoverflow.com/a/40875757/6917168) с помощью этого алгоритма. Он будет автоматически избегать значений, позволяет легко менять разделители и т. Д. – Lunaweaver