使用Matlab重新格式化传感器数据

问题描述 投票:0回答:1

我有很多传感器数据按时间,传感器名称和传感器值3列分类。其中传感器名称在每一行重复一次,直到到达下一个传感器为止。

例如:https://i.stack.imgur.com/H9KKi.png(无法在此堆栈交换中发布,没有足够的代表)

我想将数据重新格式化为单独的列变量,并与它们的时间戳对齐。最好的方法是什么?最好使用Matlab,Excel或Origin。因此,时间的列标题,sensorA,sensorB及其下面的值。

非常感谢。

excel matlab format sensor
1个回答
1
投票

我建议使用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  

>> 
© www.soinside.com 2019 - 2024. All rights reserved.