Чтение и анализ 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)

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

| | |

Похожие темы