出于某种原因,当我在矩阵上附加我所知道的数字时,我得到的是几个带有 nan 的数组。eg: [[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
我不相信我需要三个'for',但我把它放在那里是因为它给出了 NaN 并且在数据实际上是 str 之前,但现在没有任何借口并且仍然有同样的错误。
那是什么?我附加错了吗?我真的不习惯矩阵。(我只用过一次)。
编辑:我听从了这里的建议,但是数字是重复的,最终的矩阵变成了,例如: [[3, 3, 3, 3, 3] [3, 3, 3, 3, 3] ... ] 而不是 [[3, 4, 6, 5, 3] [8, 3, 9, 0, 1] ...] :/