2016-07-21 16 views
0

たとえば、xは私のデータであり、rは追加する新しいデータであるはずです。既存のCSVファイルに新しい列を追加する方法

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"

答えて

1

にそれを追加することができますどのようにあなたはとても

np.insert(x, 3, [r], axis=1) 
+0

'np.insert'は動作しません。 – hpaulj

1

ようnumpyのでinsert functionを使用して、新しい列を挿入することができますが、このないです既存の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(およびすべてのスタック)のように、その場では動作しません。

関連する問題