По какой-то причине, когда я добавляю к матрице то, что знаю, это числа, я получаю пару массивов с 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.]])
здесь, в Stack Overflow, я подумал: «О, это просто вопрос добавления чисел и превращения каждой строки в столбец!» поэтому, если я хочу, чтобы мой столбец 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]...]:/