Я пытался исследовать тему обнаружения человеческой деятельности с помощью сигналов WiFi.Этот веб-сайт (http://tns.thss.tsinghua.edu.cn/wifiradar/index_en.html#fh5co-press) предоставляет наборы данных с показаниями CSI в формате .mat. Я хотел бы импортировать эти значения в нечто вроде массива Numpy или Pandas DataFrame для анализа данных и, возможно, выполнения некоторых задач машинного обучения.
Вот как я читаю файл:
d = scipy.io.loadmat(file)
d.keys():
dict_keys(['__header__', '__version__', '__globals__', 'csi_data', 'gt_trace',
'init_loc', 'rx_loc', 'ts_data', 'tx_loc'])
Меня интересует поле csi_data. В этом поле все массивы csi, содержащие комплексные числа, сцепляются друг с другом:
array([[array([[ -4.50318786 +8.44347724j, 5.62898483+10.69507118j,
13.50956359 +1.12579697j, ..., -4.50318786 +1.12579697j,
-0.56289848 +3.3773909j , 0.56289848 +2.25159393j],
[ 7.8805554 +3.37738089j, 10.13214266 -6.19186496j,
0. -12.94662673j, ..., 2.25158726 +3.9402777j ,
3.37738089 +0.j , 2.25158726 -1.12579363j],
[ 6.7553659 -5.62947158j, -0.56294716-11.82189032j,
-12.38483747 -4.50357726j, ..., 4.50357726 -1.12589432j,
0.56294716 -3.37768295j, -0.56294716 -2.81473579j],
...,
[ -9.00567956 -6.75425967j, -13.50851934 +3.37712983j,
-5.62854972+14.63422928j, ..., 2.25141989 -5.62854972j,
-2.81427486 -3.37712983j, -3.37712983 -1.12570994j],
[ -7.31688093 -9.00539191j, -12.94525087 +0.56283699j,
когда я пытаюсь использовать len (), он возвращает 1, и поэтому все методы итерации ключей и значений не работают с этим, потому что они обрабатывают это как одно поле.
Я быхотел бы иметь каждый массив в одной строке с числовым индексом (0,1, ...) Я ценю любую помощь! заранее спасибо