例如, x 是我的数据, r 应该是要添加的新数据。
import numpy as np
x = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]], np.int32)
np.savetxt("test.csv", x, fmt='%d', delimiter=',')
r = [1,2,3]
我怎样才能将其添加到" test.csv"
答案 0 :(得分:1)
您可以使用insert function在numpy中插入新列,如此
np.insert(x, 3, [r], axis=1)
答案 1 :(得分:1)
这不仅仅是为现有的2d数组添加列。将它写入csv文件只是另一个步骤,不受此添加的影响。
In [96]: x = np.array([[1, 2, 3],
...: [4, 5, 6],
...: [7, 8, 9]], np.int32)
In [97]: r = [1,2,3]
有许多函数可以向数组添加列,但它们最终都使用concatenate
。知道如何直接使用concatenate
是一件好事。关键是匹配维数。
In [98]: x1 = np.concatenate((x, np.array(r)[:,None]), axis=1)
In [99]: x1
Out[99]:
array([[1, 2, 3, 1],
[4, 5, 6, 2],
[7, 8, 9, 3]])
vstack
负责将r
转换为此列数组。 insert
更通用,允许您在现有内容中添加值(不仅仅是在结尾处)。但是像concatenate
(和所有堆栈)一样,它不能就地运行。