我一直在尝试探索使用WiFi信号进行人类活动检测的主题。该网站(http://tns.thss.tsinghua.edu.cn/wifiradar/index_en.html#fh5co-press)以.mat格式提供CSI读数的数据集。我想将这些值导入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,因此所有的key,value迭代方法都不适用于该方法,因为它们将其视为单个字段。
我希望每个数组都在一行中并带有数字索引(0,1,...) 感谢您的帮助!预先感谢