Чтение и анализ MAT-файла на основе пар "ключ-значение"

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

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

ds = datastore('mapredout.mat');

datastore возвращает KeyValueDatastore. Функция datastore автоматически определяет соответствующий тип datastore, чтобы создать.

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

preview(ds)
ans=1×2 table
    Key      Value 
    ____    _______

    'AA'    [14930]

Считайте все данные в ds с помощью функции readall. Функция 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 в том же порядке, в котором были считаны данные. Табличные переменные, 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)

Смотрите также

| | |

Похожие темы