Чтение и анализ MAT-файла с помощью Данного в виде пара "ключ-значение"

В этом примере показано, как создать datastore для данных пары "ключ-значение" в MAT-файле, который является выходом mapreduce. Затем в примере показано, как считать все данные в datastore и отсортировать их. Этот пример принимает, что данные в MAT-файле помещаются в памяти.

Создайте datastore из файла образца, mapredout.mat, с использованием datastore функция. Образец файла содержит уникальные ключи, представляющие коды авиаперевозчика и соответствующие значения, которые представляют количество рейсов, выполняемых этим перевозчиком.

ds = datastore('mapredout.mat');

datastore возвращает KeyValueDatastore. The datastore функция автоматически определяет подходящий тип создаваемого datastore.

Предварительный просмотр данных с помощью preview функция. Эта функция не влияет на состояние datastore.

preview(ds)
ans=1×2 table
     Key        Value  
    ______    _________

    {'AA'}    {[14930]}

Считайте все данные в ds использование readall функция. The readall функция возвращает таблицу с двумя столбцами, Key и Value.

T = readall(ds)
T=29×2 table
       Key          Value  
    __________    _________

    {'AA'    }    {[14930]}
    {'AS'    }    {[ 2910]}
    {'CO'    }    {[ 8138]}
    {'DL'    }    {[16578]}
    {'EA'    }    {[  920]}
    {'HP'    }    {[ 3660]}
    {'ML (1)'}    {[   69]}
    {'NW'    }    {[10349]}
    {'PA (1)'}    {[  318]}
    {'PI'    }    {[  871]}
    {'PS'    }    {[   83]}
    {'TW'    }    {[ 3805]}
    {'UA'    }    {[13286]}
    {'US'    }    {[13997]}
    {'WN'    }    {[15931]}
    {'AQ'    }    {[  154]}
      ⋮

T содержит все данные авиакомпании и рейса из datastore в том же порядке, в котором были считаны данные. The табличных переменных, Key и Value, являются массивами ячеек.

Преобразование Value в числовой массив.

T.Value = cell2mat(T.Value)
T=29×2 table
       Key        Value
    __________    _____

    {'AA'    }    14930
    {'AS'    }     2910
    {'CO'    }     8138
    {'DL'    }    16578
    {'EA'    }      920
    {'HP'    }     3660
    {'ML (1)'}       69
    {'NW'    }    10349
    {'PA (1)'}      318
    {'PI'    }      871
    {'PS'    }       83
    {'TW'    }     3805
    {'UA'    }    13286
    {'US'    }    13997
    {'WN'    }    15931
    {'AQ'    }      154
      ⋮

Присвойте новые имена табличных переменных.

T.Properties.VariableNames = {'Airline','NumFlights'};

Отсортируйте данные в T по количеству рейсов.

T = sortrows(T,'NumFlights','descend')
T=29×2 table
    Airline    NumFlights
    _______    __________

    {'DL'}       16578   
    {'WN'}       15931   
    {'AA'}       14930   
    {'US'}       13997   
    {'UA'}       13286   
    {'NW'}       10349   
    {'CO'}        8138   
    {'MQ'}        3962   
    {'TW'}        3805   
    {'HP'}        3660   
    {'OO'}        3090   
    {'AS'}        2910   
    {'XE'}        2357   
    {'EV'}        1699   
    {'OH'}        1457   
    {'FL'}        1263   
      ⋮

Просмотр сводных данных отсортированной таблицы.

summary(T)
Variables:

    Airline: 29x1 cell array of character vectors

    NumFlights: 29x1 double

        Values:

            Min           69  
            Median      1457  
            Max        16578  

Сбросьте datastore, чтобы разрешить повторное чтение данных.

reset(ds)

См. также

| | |

Похожие темы