使用 Matlab 重新格式化传感器数据
Reformatting sensor data with Matlab
我有很多传感器数据分为 3 列,时间、传感器名称和传感器值。其中传感器名称每一行重复,直到到达下一个传感器。
例如:https://i.stack.imgur.com/H9KKi.png(不能post,此堆栈交换的代表不足)
我想将数据重新格式化为单独的列变量,并与它们的时间戳对齐。最好的方法是什么?最好使用 Matlab、Excel 或 origin。因此,时间、传感器 A、传感器 B 的第 headers 列及其下方的值。
非常感谢。
我建议使用 unstack
命令。在下面,我将数据读入 table,然后转换为更加表格化的形式。
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
>>
我有很多传感器数据分为 3 列,时间、传感器名称和传感器值。其中传感器名称每一行重复,直到到达下一个传感器。
例如:https://i.stack.imgur.com/H9KKi.png(不能post,此堆栈交换的代表不足)
我想将数据重新格式化为单独的列变量,并与它们的时间戳对齐。最好的方法是什么?最好使用 Matlab、Excel 或 origin。因此,时间、传感器 A、传感器 B 的第 headers 列及其下方的值。
非常感谢。
我建议使用 unstack
命令。在下面,我将数据读入 table,然后转换为更加表格化的形式。
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
>>