示例#1
0
    def game_already_exist(self, game_info_array):

        if len(game_info_array) == 19:
            return True

        team1_name = game_info_array[3]
        team2_name = game_info_array[17]
        game_hour = game_info_array[9]
        game_date = game_info_array[10]
        game_datetime = util.get_date_time_by_day_and_time(game_date, game_hour)

        team1 = TeamDAO().getTeamByLikeName(str(team1_name))
        if team1 is None:
            team1 = TeamDAO().create_team(team1_name, "", None, None)

        team2 = TeamDAO().getTeamByLikeName(str(team2_name))
        if team2 is None:
            team2 = TeamDAO().create_team(team2_name, "", None, None)

        game = GameDAO().getGameByTeamsAndDateTime(team1.id_team, team2.id_team, game_datetime)

        if game is not None:
            return True
        else:
            return False
示例#2
0
    def get_analysis(self, team1_name, team2_name, maps):

        team1 = TeamDAO().getTeamByLikeName(team1_name)
        team2 = TeamDAO().getTeamByLikeName(team2_name)

        team1_games_maps = GameDAO().list_team_top_games_maps(None, team1_name)
        team2_games_maps = GameDAO().list_team_top_games_maps(None, team2_name)

        team1_confidence = team_indicators.get_team_confidence(team1.id_team, team1_games_maps)
        team2_confidence = team_indicators.get_team_confidence(team2.id_team, team2_games_maps)

        winLostByRankAndMap1 = TeamIndicators().win_lost_percentage_by_rank_window_and_maps(team1_name, team1_games_maps)
        winLostByRankAndMap2 = TeamIndicators().win_lost_percentage_by_rank_window_and_maps(team2_name, team2_games_maps)

        winLostCountGameByRank1 = TeamIndicators().win_lost_number_maps_by_rank_window(team1_name, team1_games_maps)
        winLostCountGameByRank2 = TeamIndicators().win_lost_number_maps_by_rank_window(team2_name, team2_games_maps)

        team1Info = {"Team": team1_name, "Rank": team1.actual_rank, "Confidence": 0.0, "WinPercentageOppRank": {},
                     "MapsCountOppRank": {}}
        team2Info = {"Team": team2_name, "Rank": team2.actual_rank, "Confidence": 0.0, "WinPercentageOppRank": {},
                     "MapsCountOppRank": {}}

        team1Info["Confidence"] = (team1_confidence.get(maps[0])["Confidence"]) if team1_confidence.get(maps[0]) != None else 0.0
        team2Info["Confidence"] = (team2_confidence.get(maps[1])["Confidence"]) if team2_confidence.get(maps[1]) != None else 0.0

        team1Info["WinPercentageOppRank"] = TeamIndicators().get_win_percentage_by_maps_and_opp_rank_dictionary(winLostByRankAndMap1, team2.actual_rank, maps)
        team2Info["WinPercentageOppRank"] = TeamIndicators().get_win_percentage_by_maps_and_opp_rank_dictionary(winLostByRankAndMap2, team1.actual_rank, maps)

        team1Info["MapsCountOppRank"] = TeamIndicators().get_win_on_2maps_or_3maps_percentage_by_opp_rank(winLostCountGameByRank1, team2.actual_rank)
        team2Info["MapsCountOppRank"] = TeamIndicators().get_win_on_2maps_or_3maps_percentage_by_opp_rank(winLostCountGameByRank2, team1.actual_rank)

        print(team1Info)
        print(team2Info)
示例#3
0
    def full_update_all_teams(self, number_of_matches):

        teams = TeamDAO().listTeamsWithHomePage()

        for item in teams:
            site = item.homepage
            if site is None or site == "":
                continue

            self.update_team_and_players_info(item, site)

        self.matches_find_and_build_by_teams(teams, number_of_matches)
示例#4
0
    def full_update_by_team(self, team_name, number_of_matches):

        item = TeamDAO().getTeamByLikeName(team_name)

        site = item.homepage
        self.update_team_and_players_info(item, site)

        start_date = dt.now()

        if item.hltv_id is not None and item.hltv_id != "":
            results = "https://www.hltv.org/results?team=" + str(item.hltv_id)
            item = self.matches_builder(item, results, number_of_matches)

        end_date = dt.now()
        print("Finish Matches Builder Team " + str(item.name) + ". Seconds " +
              str((end_date - start_date).total_seconds()))
示例#5
0
    def update_matches_all_teams(self, number_of_matches):

        teams = TeamDAO().listTeamsWithHomePage()
        self.matches_find_and_build_by_teams(teams, number_of_matches)
示例#6
0
    def create_game(self, game_info_array, picks_remove_info_array,
                    maps_ct_tr_info_array, frames, team_rank_array,
                    rounds_detail_informations):

        team1_name = game_info_array[3]
        team2_name = game_info_array[17]
        team1_score = int(game_info_array[5])
        team2_score = int(game_info_array[19])
        game_hour = game_info_array[9]
        game_date = game_info_array[10]
        game_datetime = util.get_date_time_by_day_and_time(
            game_date, game_hour)
        championship_name = game_info_array[11]

        team1 = TeamDAO().getTeamByLikeName(str(team1_name))
        if team1 is None:
            team1 = TeamDAO().create_team(team1_name, "", None, None)

        team2 = TeamDAO().getTeamByLikeName(str(team2_name))
        if team2 is None:
            team2 = TeamDAO().create_team(team2_name, "", None, None)

        game = GameDAO().getGameByTeamsAndDateTime(team1.id_team,
                                                   team2.id_team,
                                                   game_datetime)
        # if game != None or len(frames) == 0:
        #    return

        team1_rank_ = "100" if "Unranked" in team_rank_array[0][
            1:] else team_rank_array[0][1:]
        team2_rank_ = "100" if "Unranked" in team_rank_array[
            1][:-1] else team_rank_array[1][:-1]
        team1_rank = int(team1_rank_)
        team2_rank = int(team2_rank_)

        best_of = int(picks_remove_info_array[0].split(" ")[2][:1])
        if best_of == 1:
            if team1_score > team2_score:
                team1_score = 1
                team2_score = 0
            else:
                team1_score = 0
                team2_score = 1

        map_left, team1_pick, team1_removes, team2_pick, team2_removes = self.fill_maps_picks_removes(
            picks_remove_info_array, team1_name, team2_name)

        championship = ChampionshipDAO().getChampionshipByNameAndStartDate(
            championship_name, None)
        if championship is None:
            championship = ChampionshipDAO().createChampionship(
                championship_name, None, None, None)

        if len(maps_ct_tr_info_array) < (4 + (best_of - 1) * 26):
            return

        game = self.create_or_update_game(best_of, championship, game,
                                          game_datetime, map_left, team1,
                                          team1_pick, team1_rank,
                                          team1_removes, team1_score, team2,
                                          team2_pick, team2_rank,
                                          team2_removes, team2_score)

        maps_array = self.create_map(game, maps_ct_tr_info_array,
                                     rounds_detail_informations, best_of)
        self.createPlayerMapStats(maps_array, team1, team2, frames)
示例#7
0
    def get_predict_game_data_set(self, team1_name, team2_name, maps_array):

        df = pd.DataFrame(columns=['Map1_Dust2', 'Map1_Vertigo', 'Map1_Inferno', 'Map1_Overpass', 'Map1_Train',
                                   'Map1_Mirage', 'Map1_Nuke', 'Map2_Dust2', 'Map2_Vertigo', 'Map2_Inferno',
                                   'Map2_Overpass', 'Map2_Train', 'Map2_Mirage', 'Map2_Nuke', 'Team1Rank', 'Team2Rank',
                                   'Team1WinPercentageMirage', 'Team1WinPercentageDust2', 'Team1WinPercentageNuke',
                                   'Team1WinPercentageOverpass', 'Team1WinPercentageInferno',
                                   'Team1WinPercentageVertigo', 'Team1WinPercentageTrain', 'Team1WinPercentageCache',
                                   'Team2WinPercentageMirage', 'Team2WinPercentageDust2', 'Team2WinPercentageNuke',
                                   'Team2WinPercentageOverpass', 'Team2WinPercentageInferno',
                                   'Team2WinPercentageVertigo', 'Team2WinPercentageTrain', 'Team2WinPercentageCache',

                                   'Team1ConfidencePickMirage', 'Team1ConfidencePickDust2', 'Team1ConfidencePickNuke',
                                   'Team1ConfidencePickOverpass', 'Team1ConfidencePickInferno',
                                   'Team1ConfidencePickVertigo', 'Team1ConfidencePickTrain', 'Team1ConfidencePickCache',
                                   'Team2ConfidencePickMirage', 'Team2ConfidencePickDust2', 'Team2ConfidencePickNuke',
                                   'Team2ConfidencePickOverpass', 'Team2ConfidencePickInferno',
                                   'Team2ConfidencePickVertigo', 'Team2ConfidencePickTrain', 'Team2ConfidencePickCache',

                                   'Team1AverageOppRankMirage', 'Team1AverageOppRankDust2', 'Team1AverageOppRankNuke',
                                   'Team1AverageOppRankOverpass', 'Team1AverageOppRankInferno',
                                   'Team1AverageOppRankVertigo', 'Team1AverageOppRankTrain', 'Team1AverageOppRankCache',
                                   'Team2AverageOppRankMirage', 'Team2AverageOppRankDust2', 'Team2AverageOppRankNuke',
                                   'Team2AverageOppRankOverpass', 'Team2AverageOppRankInferno',
                                   'Team2AverageOppRankVertigo', 'Team2AverageOppRankTrain', 'Team2AverageOppRankCache',

                                   'Team1PlayersPlusMinosMirage', 'Team1PlayersPlusMinosDust2',
                                   'Team1PlayersPlusMinosNuke', 'Team1PlayersPlusMinosOverpass',
                                   'Team1PlayersPlusMinosInferno',
                                   'Team1PlayersPlusMinosVertigo', 'Team1PlayersPlusMinosTrain',
                                   'Team1PlayersPlusMinosCache',
                                   'Team2PlayersPlusMinosMirage', 'Team2PlayersPlusMinosDust2',
                                   'Team2PlayersPlusMinosNuke', 'Team2PlayersPlusMinosOverpass',
                                   'Team2PlayersPlusMinosInferno',
                                   'Team2PlayersPlusMinosVertigo', 'Team2PlayersPlusMinosTrain',
                                   'Team2PlayersPlusMinosCache',

                                   'Team1RoundsPlusMinosMirage', 'Team1RoundsPlusMinosDust2',
                                   'Team1RoundsPlusMinosNuke', 'Team1RoundsPlusMinosOverpass',
                                   'Team1RoundsPlusMinosInferno',
                                   'Team1RoundsPlusMinosVertigo', 'Team1RoundsPlusMinosTrain',
                                   'Team1RoundsPlusMinosCache',
                                   'Team2RoundsPlusMinosMirage', 'Team2RoundsPlusMinosDust2',
                                   'Team2RoundsPlusMinosNuke', 'Team2RoundsPlusMinosOverpass',
                                   'Team2RoundsPlusMinosInferno',
                                   'Team2RoundsPlusMinosVertigo', 'Team2RoundsPlusMinosTrain',
                                   'Team2RoundsPlusMinosCache',
                                   'Team1Winner'])

        team1 = TeamDAO().getTeamByLikeName(team1_name)
        team2 = TeamDAO().getTeamByLikeName(team2_name)

        team1_last_10_games = GameDAO().list_team_last_maps_games(None, team1.id_team, number_maps_to_consider)
        team2_last_10_games = GameDAO().list_team_last_maps_games(None, team2.id_team, number_maps_to_consider)

        if len(team1_last_10_games) < number_maps_to_consider or len(team2_last_10_games) < number_maps_to_consider:
            return None

        team1_confidence = team_indicators.get_team_confidence(team1_last_10_games, team1.id_team)
        team2_confidence = team_indicators.get_team_confidence(team2_last_10_games, team2.id_team)

        win_percentage_team1 = TeamIndicators().win_lost_percentage_by_rank_window_and_maps(team1.id_team,
                                                                                            team1_last_10_games)
        win_percentage_team2 = TeamIndicators().win_lost_percentage_by_rank_window_and_maps(team2.id_team,
                                                                                            team2_last_10_games)

        win_percentage_team1_by_map = TeamIndicators().get_win_percentage_by_maps_and_opp_rank_dictionary(
            win_percentage_team1, team2.actual_rank,
            ["Dust2", "Inferno", "Overpass", "Vertigo", "Nuke", "Mirage", "Train", "Cache"])
        win_percentage_team2_by_map = TeamIndicators().get_win_percentage_by_maps_and_opp_rank_dictionary(
            win_percentage_team2, team1.actual_rank,
            ["Dust2", "Inferno", "Overpass", "Vertigo", "Nuke", "Mirage", "Train", "Cache"])

        average_opp_rank_team1 = team_indicators.get_average_opp_rank_by_map(team1_last_10_games, team1.id_team)
        average_opp_rank_team2 = team_indicators.get_average_opp_rank_by_map(team2_last_10_games, team2.id_team)

        plus_minos_rounds_team1 = team_indicators.get_plus_minos_rounds_team(team1_last_10_games, team1.id_team)
        plus_minos_rounds_team2 = team_indicators.get_plus_minos_rounds_team(team2_last_10_games, team2.id_team)

        gamesWithTeam1PlayersStats = GameDAO().list_team_last_games_with_players_stats(None, team1.id_team,
                                                                                       15 * number_maps_to_consider)
        gamesWithTeam2PlayersStats = GameDAO().list_team_last_games_with_players_stats(None, team2.id_team,
                                                                                       15 * number_maps_to_consider)

        plus_minos_players_team1 = team_indicators.get_plus_minos_players_team(gamesWithTeam1PlayersStats)
        plus_minos_players_team2 = team_indicators.get_plus_minos_players_team(gamesWithTeam2PlayersStats)

        df.loc[0, 'Team1Rank'] = team1.actual_rank
        df.loc[0, 'Team2Rank'] = team2.actual_rank
        df.loc[0, 'Map1_Mirage'] = 0
        df.loc[0, 'Map1_Dust2'] = 0
        df.loc[0, 'Map1_Vertigo'] = 0
        df.loc[0, 'Map1_Inferno'] = 0
        df.loc[0, 'Map1_Overpass'] = 0
        df.loc[0, 'Map1_Train'] = 0
        df.loc[0, 'Map1_Nuke'] = 0
        df.loc[0, 'Map2_Mirage'] = 0
        df.loc[0, 'Map2_Dust2'] = 0
        df.loc[0, 'Map2_Vertigo'] = 0
        df.loc[0, 'Map2_Inferno'] = 0
        df.loc[0, 'Map2_Overpass'] = 0
        df.loc[0, 'Map2_Train'] = 0
        df.loc[0, 'Map2_Nuke'] = 0

        if "Mirage" in maps_array[0]:
            df.loc[0, 'Map1_Mirage'] = 1
        elif "Dust2" in maps_array[0]:
            df.loc[0, 'Map1_Dust2'] = 1
        elif "Vertigo" in maps_array[0]:
            df.loc[0, 'Map1_Vertigo'] = 1
        elif "Inferno" in maps_array[0]:
            df.loc[0, 'Map1_Inferno'] = 1
        elif "Overpass" in maps_array[0]:
            df.loc[0, 'Map1_Overpass'] = 1
        elif "Train" in maps_array[0]:
            df.loc[0, 'Map1_Train'] = 1
        elif "Nuke" in maps_array[0]:
            df.loc[0, 'Map1_Nuke'] = 1

        if "Mirage" in maps_array[1]:
            df.loc[0, 'Map2_Mirage'] = 1
        elif "Dust2" in maps_array[1]:
            df.loc[0, 'Map2_Dust2'] = 1
        elif "Vertigo" in maps_array[1]:
            df.loc[0, 'Map2_Vertigo'] = 1
        elif "Inferno" in maps_array[1]:
            df.loc[0, 'Map2_Inferno'] = 1
        elif "Overpass" in maps_array[1]:
            df.loc[0, 'Map2_Overpass'] = 1
        elif "Train" in maps_array[1]:
            df.loc[0, 'Map2_Train'] = 1
        elif "Nuke" in maps_array[1]:
            df.loc[0, 'Map2_Nuke'] = 1

        df.loc[0, 'Team1WinPercentageMirage'] = win_percentage_team1_by_map["Mirage"]
        df.loc[0, 'Team1WinPercentageDust2'] = win_percentage_team1_by_map["Dust2"]
        df.loc[0, 'Team1WinPercentageNuke'] = win_percentage_team1_by_map["Nuke"]
        df.loc[0, 'Team1WinPercentageOverpass'] = win_percentage_team1_by_map["Overpass"]
        df.loc[0, 'Team1WinPercentageInferno'] = win_percentage_team1_by_map["Inferno"]
        df.loc[0, 'Team1WinPercentageVertigo'] = win_percentage_team1_by_map["Vertigo"]
        df.loc[0, 'Team1WinPercentageTrain'] = win_percentage_team1_by_map["Train"]
        df.loc[0, 'Team1WinPercentageCache'] = win_percentage_team1_by_map["Cache"]
        df.loc[0, 'Team2WinPercentageMirage'] = win_percentage_team2_by_map["Mirage"]
        df.loc[0, 'Team2WinPercentageDust2'] = win_percentage_team2_by_map["Dust2"]
        df.loc[0, 'Team2WinPercentageNuke'] = win_percentage_team2_by_map["Nuke"]
        df.loc[0, 'Team2WinPercentageOverpass'] = win_percentage_team2_by_map["Overpass"]
        df.loc[0, 'Team2WinPercentageInferno'] = win_percentage_team2_by_map["Inferno"]
        df.loc[0, 'Team2WinPercentageVertigo'] = win_percentage_team2_by_map["Vertigo"]
        df.loc[0, 'Team2WinPercentageTrain'] = win_percentage_team2_by_map["Train"]
        df.loc[0, 'Team2WinPercentageCache'] = win_percentage_team2_by_map["Cache"]

        df.loc[0, 'Team1ConfidencePickMirage'] = team1_confidence["Mirage"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickDust2'] = team1_confidence["Dust2"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickNuke'] = team1_confidence["Nuke"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickOverpass'] = team1_confidence["Overpass"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickInferno'] = team1_confidence["Inferno"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickVertigo'] = team1_confidence["Vertigo"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickTrain'] = team1_confidence["Train"]["Confidence"]
        df.loc[0, 'Team1ConfidencePickCache'] = team1_confidence["Cache"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickMirage'] = team2_confidence["Mirage"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickDust2'] = team2_confidence["Dust2"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickNuke'] = team2_confidence["Nuke"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickOverpass'] = team2_confidence["Overpass"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickInferno'] = team2_confidence["Inferno"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickVertigo'] = team2_confidence["Vertigo"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickTrain'] = team2_confidence["Train"]["Confidence"]
        df.loc[0, 'Team2ConfidencePickCache'] = team2_confidence["Cache"]["Confidence"]

        df.loc[0, 'Team1AverageOppRankMirage'] = average_opp_rank_team1["Mirage"]["average"] if \
            average_opp_rank_team1.get("Mirage") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankDust2'] = average_opp_rank_team1["Dust2"]["average"] if \
            average_opp_rank_team1.get("Dust2") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankNuke'] = average_opp_rank_team1["Nuke"]["average"] if \
            average_opp_rank_team1.get("Nuke") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankOverpass'] = average_opp_rank_team1["Overpass"]["average"] if \
            average_opp_rank_team1.get("Overpass") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankInferno'] = average_opp_rank_team1["Inferno"]["average"] if \
            average_opp_rank_team1.get("Inferno") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankVertigo'] = average_opp_rank_team1["Vertigo"]["average"] if \
            average_opp_rank_team1.get("Vertigo") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankTrain'] = average_opp_rank_team1["Train"]["average"] if \
            average_opp_rank_team1.get("Train") is not None else 0.0
        df.loc[0, 'Team1AverageOppRankCache'] = average_opp_rank_team1["Cache"]["average"] if \
            average_opp_rank_team1.get("Cache") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankMirage'] = average_opp_rank_team2["Mirage"]["average"] if \
            average_opp_rank_team2.get("Mirage") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankDust2'] = average_opp_rank_team2["Dust2"]["average"] if \
            average_opp_rank_team2.get("Dust2") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankNuke'] = average_opp_rank_team2["Nuke"]["average"] if \
            average_opp_rank_team2.get("Nuke") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankOverpass'] = average_opp_rank_team2["Overpass"]["average"] if \
            average_opp_rank_team2.get("Overpass") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankInferno'] = average_opp_rank_team2["Inferno"]["average"] if \
            average_opp_rank_team2.get("Inferno") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankVertigo'] = average_opp_rank_team2["Vertigo"]["average"] if \
            average_opp_rank_team2.get("Vertigo") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankTrain'] = average_opp_rank_team2["Train"]["average"] if \
            average_opp_rank_team2.get("Train") is not None else 0.0
        df.loc[0, 'Team2AverageOppRankCache'] = average_opp_rank_team2["Cache"]["average"] if \
            average_opp_rank_team2.get("Cache") is not None else 0.0

        df.loc[0, 'Team1PlayersPlusMinosMirage'] = plus_minos_players_team1["Mirage"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosDust2'] = plus_minos_players_team1["Dust2"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosNuke'] = plus_minos_players_team1["Nuke"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosOverpass'] = plus_minos_players_team1["Overpass"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosInferno'] = plus_minos_players_team1["Inferno"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosVertigo'] = plus_minos_players_team1["Vertigo"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosTrain'] = plus_minos_players_team1["Train"]["plusMinosPlayers"]
        df.loc[0, 'Team1PlayersPlusMinosCache'] = plus_minos_players_team1["Cache"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosMirage'] = plus_minos_players_team2["Mirage"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosDust2'] = plus_minos_players_team2["Dust2"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosNuke'] = plus_minos_players_team2["Nuke"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosOverpass'] = plus_minos_players_team2["Overpass"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosInferno'] = plus_minos_players_team2["Inferno"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosVertigo'] = plus_minos_players_team2["Vertigo"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosTrain'] = plus_minos_players_team2["Train"]["plusMinosPlayers"]
        df.loc[0, 'Team2PlayersPlusMinosCache'] = plus_minos_players_team2["Cache"]["plusMinosPlayers"]

        df.loc[0, 'Team1RoundsPlusMinosMirage'] = plus_minos_rounds_team1["Mirage"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosDust2'] = plus_minos_rounds_team1["Dust2"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosNuke'] = plus_minos_rounds_team1["Nuke"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosOverpass'] = plus_minos_rounds_team1["Overpass"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosInferno'] = plus_minos_rounds_team1["Inferno"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosVertigo'] = plus_minos_rounds_team1["Vertigo"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosTrain'] = plus_minos_rounds_team1["Train"]["plusMinosRounds"]
        df.loc[0, 'Team1RoundsPlusMinosCache'] = plus_minos_rounds_team1["Cache"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosMirage'] = plus_minos_rounds_team2["Mirage"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosDust2'] = plus_minos_rounds_team2["Dust2"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosNuke'] = plus_minos_rounds_team2["Nuke"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosOverpass'] = plus_minos_rounds_team2["Overpass"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosInferno'] = plus_minos_rounds_team2["Inferno"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosVertigo'] = plus_minos_rounds_team2["Vertigo"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosTrain'] = plus_minos_rounds_team2["Train"]["plusMinosRounds"]
        df.loc[0, 'Team2RoundsPlusMinosCache'] = plus_minos_rounds_team2["Cache"]["plusMinosRounds"]

        df.loc[0, 'Team1Winner'] = 0

        return df