何らかの理由で、私が知っているものを行列に追加すると、nan を含むいくつかの配列が得られます。例: [[nan nan nan nan nan ] [nan nan nan nan nan]] おかしいように聞こえますが、本当にイライラします。
私がやっていることは、ファイルからいくつかのデータを取得し、それを行列のようにしようとしています. ファイルには列と、もちろん数字があります。列は、温度、圧力などを表します。私の目標は、行列の行数がファイルの列数に対応し、行列の列数がデータ数と同じになることです。なぜ反対?私は次のようなものを見たので:
>>> import numpy
>>> a = numpy.zeros(shape=(5,2))
>>> a
array([[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
>>> a[0] = [1,2]
>>> a[1] = [2,3]
>>> a
array([[ 1., 2.],
[ 2., 3.],
[ 0., 0.],
[ 0., 0.],
[ 0., 0.]])
ここスタックオーバーフローで、「ああ、数字を追加して各行を列にするだけの問題だ!」と思いました。したがって、列 1 (たとえば、温度など) が必要な場合は、col[1] を入力するだけで、その列にすべてのデータが含まれます (おそらく、それをプロットすることができます。これが私の最終的な成果です) . しかし、私はこの追加を間違っていると信じており、現在のものは次のとおりです。
matrix = np.zeros(shape=ncolumns,ndata)) #creates a zeros array numberofcolums x numberofdata
test = [] #list for float numbers
ytest = [] #just for appending stuff
for k in range(ncolumns):
for data in plot_arrayy: #plot_array is where my data is stored
matrix[k] = data
print matrix
ここに 3 つの「for」が必要だとは思いませんが、データが実際に str になる前に NaN を与えていたため、そこに入れましたが、今では言い訳ができず、同じエラーが発生します。
それで、それは何ですか?間違って追加していますか?私はマトリックスにあまり慣れていません。(私はそれらを一度だけ使用しました)。
編集:ここのアドバイスに従いましたが、数字が繰り返され、最終的な行列は次のようになります。たとえば、 [[3, 3, 3, 3, 3] [3, 3, 3, 3, 3] ... ] 代わりに [[3, 4, 6, 5, 3] [8, 3, 9, 0, 1] ...] :/