コード例 #1
0
def get_stats_data(sort_by_date=False, options=None):
    """
    Get Pandas DataFrame of all league stats in the top 5 leagues, over time.
    Parameters:
        - sort_by_date (bool): Sort data by league names if False. Sort data by dates if True. Default: False
        - options (dict): options to filter out data to extract
    NOTE: Can be used for time-series analysis.
    """
    json_data = extract.get_stats(options=options)
    list_of_stats = transform.parse_json(json_data=json_data)
    data_stats = transform.wrangle_list_to_dataframe(list_data=list_of_stats)

    data_stats['year'] = data_stats['year'].astype(int)
    data_stats['month'] = data_stats['month'].astype(int)
    data_stats = data_stats.sort_values(by=['league', 'year', 'month'], ascending=[True, True, True])\
                           .reset_index(drop=True)

    data_stats['datetime'] = data_stats['year'].astype(
        str) + '-' + data_stats['month'].astype(str) + '-' + '28'
    data_stats['datetime'] = pd.to_datetime(arg=data_stats['datetime'],
                                            format="%Y-%m-%d")
    if sort_by_date:
        data_stats = data_stats.sort_values(
            by='datetime', ascending=True).reset_index(drop=True)
    return data_stats
コード例 #2
0
def get_player_shots_data(player_id, options=None):
    """
    Get Pandas DataFrame of shots-data of particular player in all matches he's played, by ['player_id']
    """
    json_data = extract.get_player_shots(player_id=player_id, options=options)
    list_of_matches = transform.parse_json(json_data=json_data)
    data_player_shots = transform.wrangle_list_to_dataframe(
        list_data=list_of_matches)
    return data_player_shots
コード例 #3
0
def get_team_players_data(team_name, season, options=None):
    """
    Get Pandas DataFrame of stats of players for a particular team, by ['team_name', 'season']
    """
    json_data = extract.get_team_players(team_name=team_name,
                                         season=season,
                                         options=options)
    list_of_players = transform.parse_json(json_data=json_data)
    data_team_players = transform.wrangle_list_to_dataframe(
        list_data=list_of_players)
    data_team_players['season'] = season
    return data_team_players
コード例 #4
0
def get_player_matches_data(player_id, options=None):
    """
    Get Pandas DataFrame of stats of particular player in all matches he's played, by ['player_id']
    """
    json_data = extract.get_player_matches(player_id=player_id,
                                           options=options)
    list_of_matches = transform.parse_json(json_data=json_data)
    data_player_matches = transform.wrangle_list_to_dataframe(
        list_data=list_of_matches)
    player_ids_all = utils.pickle_load(filename='ids_of_players.pkl')
    player_name = player_ids_all[str(player_id)]
    data_player_matches['PlayerName'] = player_name
    return data_player_matches
コード例 #5
0
def get_player_stats_data(player_id, positions=None):
    """
    Get Pandas DataFrame of max, min, avg stats of player over the seasons, by ['player_id']
    """
    json_data = extract.get_player_stats(player_id=player_id,
                                         positions=positions)
    list_of_matches = transform.parse_json(json_data=json_data)
    data_player_stats = transform.wrangle_list_to_dataframe(
        list_data=list_of_matches)
    data_player_stats = transform.wrangle_max_min_avg(
        dataframe=data_player_stats)
    player_ids_all = utils.pickle_load(filename='ids_of_players.pkl')
    player_name = player_ids_all[str(player_id)]
    data_player_stats['PlayerName'] = player_name
    return data_player_stats
コード例 #6
0
def get_team_results_data(team_name, season, options=None):
    """
    Get Pandas DataFrame of stats of results for a particular team, by ['team_name', 'season']
    """
    data_team_results = pd.DataFrame()
    json_data = extract.get_team_results(team_name=team_name,
                                         season=season,
                                         options=options)
    list_of_matches = transform.parse_json(json_data=json_data)
    data = transform.wrangle_list_to_dataframe(list_data=list_of_matches)
    data_team_results = transform.wrangle_results(dataframe=data)
    data_team_results['h_a'] = data['side']
    data_team_results['result'] = data['result'].map({
        'w': 'Win',
        'l': 'Loss',
        'd': 'Draw'
    })
    data_team_results['TeamOfInterest'] = team_name
    data_team_results['season'] = season
    data_team_results.sort_values(by='datetime', ascending=True, inplace=True)
    return data_team_results
コード例 #7
0
def get_team_fixtures_data(team_name, season):
    """
    Get Pandas DataFrame of upcoming league fixtures for a particular team, by ['team_name', 'season']
    """
    data_new = pd.DataFrame()
    json_upcoming_fixtures_home = extract.get_team_fixtures(
        team_name=team_name, season=season, side='h')
    json_upcoming_fixtures_away = extract.get_team_fixtures(
        team_name=team_name, season=season, side='a')
    list_of_matches_home = transform.parse_json(
        json_data=json_upcoming_fixtures_home)
    list_of_matches_away = transform.parse_json(
        json_data=json_upcoming_fixtures_away)
    list_of_matches = list_of_matches_home + list_of_matches_away
    data = transform.wrangle_list_to_dataframe(list_data=list_of_matches)
    if data.empty:
        return pd.DataFrame()
    data_new = transform.wrangle_upcoming_fixtures(dataframe=data)
    data_new['h_a'] = data['side']
    data_new['TeamOfInterest'] = team_name
    return data_new