2016-11-29 85 views
-1

我有一个响应变量数组,我通过使用进一步的代码使用回归分析。如何将数组添加为python中现有csv文件中的列?

SalePrice_baseline = reg2.predict(test) 

输出的样子,

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

我所有的输入变量作为test.csv的现有测试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编写器,如[其他答案](http://stackoverflow.com/a/40875757/6917168)使用此算法。它会自动转义值,允许您轻松更改分隔符等。 – Lunaweaver

相关问题