繁体   English   中英

如何将新列添加到现有的csv文件

[英]How to add new column to existing csv file

例如, 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”中

您可以使用numpy中的insert函数插入新列,如下所示

np.insert(x, 3, [r], axis=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 (和所有堆栈)一样,它不能就地运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM