Получите позиции команды в течение текущего года

В этом примере показано, как получить баскетбольную команду постоянные данные под эгидой STATS.com в течение текущего года.

Этот пример требует ключа API STATS.com и секретного кода передачи для баскетбольных данных. Для получения дополнительной информации о ваших учетных данных для доступа к данным, свяжитесь с STATS.com.

Чтобы получить доступ к коду для этого примера, введите edit NBAStandingsExample.m.

Соединитесь с STATS.com

Создайте связь STATS.com sBasketball поскольку извлечение статистических баскетбольных данных для спортивной лиги назвало 'nba'. Настройте связь, чтобы получить команду постоянные данные путем определения параметра запроса 'Resource' как 'standings'.

sBasketball = statsllc('se33pc658r9abcahm4a9j93p','frvaBcb33y', ...
    'DataType','stats','LeagueAbbreviation','nba', ...
    'Resource','standings','SportName','basketball', ...
    'VersionNumber','v1');

Получите данные о позициях команды

Получите позиции баскетбольной команды data использование sBasketball.

data = fetch(sBasketball);

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

numConferences = length(data.apiResults.league.season.eventType.conferences);

% Iterate through each conference
for i = 1:numConferences
    numDivisions = length(data.apiResults.league.season.eventType.conferences(i).divisions);
  
    % Iterate through each division
    for j = 1:numDivisions
        
        % Access team data in each division
        t = struct2table(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams);
        numTeams = length(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams);
        recordTable = [];
        
        % Iterate through each team
        for k = 1:numTeams
            divisionStatusTable = struct2table(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams(k).division);
            recordTable = [recordTable;struct2table(data.apiResults.league.season.eventType.conferences(i).divisions(j).teams(k).record) ...
                table(divisionStatusTable.gamesBehind, ...
                    'VariableNames',{'GamesBack'})];
        end

        % Create table of team standing data
        standingsTable = table(strcat(t.location,strcat('.',t.nickname)), ...
            recordTable.wins,recordTable.losses,recordTable.percentage, ...
            recordTable.GamesBack,'VariableNames', ...
            {'Team','Wins','Losses','Percentage','GamesBehind'});
        
        % Display team standing data to the command line
        disp([data.apiResults.league.season.eventType.conferences(i).name ...
            ' ' data.apiResults.league.season.eventType.conferences(i).divisions(j).name])
        disp(' ')
        disp(standingsTable)
    end
end
Eastern Conference Atlantic Division
 
            Team            Wins    Losses    Percentage    GamesBehind
    ____________________    ____    ______    __________    ___________

    'Toronto.Raptors'       56      26        .683           0         
    'Boston.Celtics'        48      34        .585           8         
    'New York.Knicks'       32      50        .390          24         
    'Brooklyn.Nets'         21      61        .256          35         
    'Philadelphia.76ers'    10      72        .122          46         
...

Командное окно отображает позиции баскетбольной команды для каждого деления. Имена столбцов:

  • Team — Имя баскетбольной команды

  • Wins — Количество побед

  • Losses — Количество потерь

  • Percentage — Процент игр выигран

  • GamesBehind — Количество игр позади

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

|

Похожие темы

Внешние веб-сайты