我有很多传感器数据按时间,传感器名称和传感器值3列分类。其中传感器名称在每一行重复一次,直到到达下一个传感器为止。
例如:https://i.stack.imgur.com/H9KKi.png(无法在此堆栈交换中发布,没有足够的代表)
我想将数据重新格式化为单独的列变量,并与它们的时间戳对齐。最好的方法是什么?最好使用Matlab,Excel或Origin。因此,时间的列标题,sensorA,sensorB及其下面的值。
非常感谢。
我建议使用unstack
命令。在下面,我将数据读入表中,然后转换为表格形式。
d = readtable("sensorData.xlsx")
d1 = unstack(d,"Value","Sensor")
d =
15×3 table
Date Sensor Value
____________________ __________ _____
12-May-2020 13:00:00 {'Sens_a'} 64
12-May-2020 14:00:00 {'Sens_a'} 9
12-May-2020 14:59:59 {'Sens_a'} 70
12-May-2020 15:59:59 {'Sens_a'} 74
12-May-2020 13:00:00 {'Sens_b'} 37
12-May-2020 14:00:00 {'Sens_b'} 63
12-May-2020 14:59:59 {'Sens_b'} 47
12-May-2020 15:59:59 {'Sens_b'} 94
12-May-2020 16:59:59 {'Sens_b'} 35
12-May-2020 17:59:59 {'Sens_b'} 86
12-May-2020 18:59:59 {'Sens_b'} 26
12-May-2020 13:00:00 {'Sens_c'} 91
12-May-2020 14:00:00 {'Sens_c'} 4
12-May-2020 14:59:59 {'Sens_D'} 22
12-May-2020 15:59:59 {'Sens_D'} 74
d1 =
7×5 table
Date Sens_D Sens_a Sens_b Sens_c
____________________ ______ ______ ______ ______
12-May-2020 13:00:00 NaN 64 37 91
12-May-2020 14:00:00 NaN 9 63 4
12-May-2020 14:59:59 22 70 47 NaN
12-May-2020 15:59:59 74 74 94 NaN
12-May-2020 16:59:59 NaN NaN 35 NaN
12-May-2020 17:59:59 NaN NaN 86 NaN
12-May-2020 18:59:59 NaN NaN 26 NaN
>>