Pythonでは、n-by-100
の行列を作成したいと考えています。最初はn
の値が不明です。この作成には、行列を連続的に追加する必要があります。私はこれを試みたコードは次のとおりNumPy配列に行を追加する
x = numpy.zeros(100)
while true:
y = loadrow(); # Load a 1-by-100 NumPy array for the new row
x = numpy.append(x, y, 0)
しかし、私は困難解決を有してい上記と3つの問題がある:
ライン
x = numpy.zeros(100)
が列を有するマトリックスを初期化100個のゼロ。しかし、最初の行を最初にロードする必要があります。最初の行を追加した後にデータが与えられる空行列を作成するにはどうすればよいですか?行
x = numpy.append(x, y, 0)
は、行列x
に別の行を追加しません。代わりに、最初の行の末尾にy
を追加するだけで、さらに長い行が作成されます。しかし、私がx = numpy.append(x, y, 1)
を試してみたら、軸1に追加すると、エラーが発生します:TypeError: Required argument 'object' (pos 1) not found
。このような行を続けて追加すると、元の配列のコピーが作成されているように見えますが、配列が大きくなると非効率になります。最終的なアレイのサイズがわからないときにこれを行う他の方法はありますか?
ありがとうございます!
を追加(http://stackoverflow.com/questions/35818395/add-a-column- [ここ]同様の質問に対する私の答えを参照してください。 in-a-numpy-array-python/35828879#35828879)。 – bunji
リストの使用を検討し、ループの後にnumpy配列に変換してください。 – Evert