Я немного новичок в среде python, и я передаю существующую программу MATLAB в Python. Я импортировал файл .mat, содержащий четыре поля, в которых меня интересует одно из 14 подполей массивов 11340x1, 11340x7 и 11340x8, а также несколько строк метеорологических данных. Я успешно импортировал данные, используя.mat to python data transfer
import scipy.io as sio
import scipy
MATfile = sio.loadmat(E:/JP/Meadowdata.mat)
Теперь я хотел бы поставить эти массивы/строки в переменных для использования в Python. Я начал с
datagroup = MATfile['MAIN'] #for MAIN field
T = datagroup['T'] #for Temp.
P = datagroup['P'] #for Precip....
и так далее для других массивов. Я хочу использовать эти массивы как для значений внутри них, так и для нахождения длины массивов. Однако, когда я пытаюсь найти длину они всегда возвращаются с длиной 1, а не 11340, а при печати их оказывается как этот
[[array([[-5.55555556],
[-5.55555556],
[-5.55555556],
...,
[ 9.879 ],
[ 8.17 ],
[ 6.051 ]])]]
Я заметил, что некоторые люди петельные через и потянула ценности, которые, как, но это было бы слишком много данных/времени в моем случае, и, похоже, это не работало. Есть ли способ получить эти данные?
Спасибо, jmatt
Что делать, если вы позволите 'T = DataGroup [ 'T'] [0] [0] и' P = Датагруп [ 'P'] [0] [0] ', а затем проверить их длину? – edwinksl
Что такое '.shape' и' .dtype' этих массивов? '.shape' является эквивалентом' size'. Массивы 'numpy' могут быть 0-мерными. – hpaulj
Возможный дубликат: http://stackoverflow.com/questions/37996883/how-to-access-elements-of-numpy-ndarray. Позвольте мне знать, если это помогает. – hpaulj