Beispiel #1
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)
    def get_data_set(self):
        # df = pd.DataFrame(columns=['Team1Confidence', 'Team1WinPercentage', 'Team1Rank', 'Team1AverageOppRank',
        #                           'Team1PlayersPlusMinos', 'Team1RoundsPlusMinos',
        #                           'Team2Confidence', 'Team2WinPercentage', 'Team2Rank', 'Team2AverageOppRank',
        #                           'Team2PlayersPlusMinos', 'Team2RoundsPlusMinos', 'Team1Winner'])

        df = pd.DataFrame(columns=[
            'Team1Rank', 'Team1WinRankAverage', 'Team1LoseRankAverage',
            'Team2Rank', 'Team2WinRankAverage', 'Team2LoseRankAverage'
        ])

        games = GameDAO().list_last_games()
        counter = 0
        for game in games:
            # if counter == 500:
            #    break

            team1_last_10_games = GameDAO().list_team_last_maps_games(
                game.id_game, game.id_team1, number_maps_to_consider)
            team2_last_10_games = GameDAO().list_team_last_maps_games(
                game.id_game, game.id_team2, number_maps_to_consider)

            if len(team1_last_10_games) < number_maps_to_consider or len(
                    team2_last_10_games) < number_maps_to_consider:
                continue
            if game.team1_picks_maps == "" and game.team2_picks_maps == "":
                continue

            team1_average_win_rank, team1_average_lose_rank = team_indicators.get_team_win_lose_rank_average(
                team1_last_10_games, game.id_team1)
            team2_average_win_rank, team2_average_lose_rank = team_indicators.get_team_win_lose_rank_average(
                team2_last_10_games, game.id_team2)

            df.loc[counter, 'Team1Rank'] = game.team1_rank
            df.loc[counter, 'Team1WinRankAverage'] = team1_average_win_rank
            df.loc[counter, 'Team1LoseRankAverage'] = team1_average_lose_rank
            df.loc[counter, 'Team2Rank'] = game.team2_rank
            df.loc[counter, 'Team2WinRankAverage'] = team2_average_win_rank
            df.loc[counter, 'Team2LoseRankAverage'] = team2_average_lose_rank

            df.loc[
                counter,
                'Team1Winner'] = 1 if game.team1_score > game.team2_score else 0

            counter = counter + 1
        print(df)
        df.to_csv(
            r'C:\Users\fabio\Documents\Projetos\CSGOAnalysis\dataframe_simplified.csv',
            index=True)
        return df
Beispiel #3
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
 def win_rank_matrix(self):
     df = pd.DataFrame(
         0,
         index=[
             0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
         ],  #['top10','top20','top30','top40','top50','top60','top70', 'top80','top90','top100',
         #'top110'],
         columns=[
             'top10', 'top20', 'top30', 'top40', 'top50', 'top60', 'top70',
             'top80', 'top90', 'top100', 'top110'
         ])
     df2 = pd.DataFrame(0,
                        index=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                        columns=[
                            'top10', 'top20', 'top30', 'top40', 'top50',
                            'top60', 'top70', 'top80', 'top90', 'top100',
                            'top110'
                        ])
     games = GameDAO().list_last_games()
     for game_item in games:
         if game_item.team1_rank < 10:
             self.team2_win_rank_matrix(df, df2, game_item, 0)
         if 10 <= game_item.team1_rank < 20:
             self.team2_win_rank_matrix(df, df2, game_item, 1)
         if 20 <= game_item.team1_rank < 30:
             self.team2_win_rank_matrix(df, df2, game_item, 2)
         if 30 <= game_item.team1_rank < 40:
             self.team2_win_rank_matrix(df, df2, game_item, 3)
         if 40 <= game_item.team1_rank < 50:
             self.team2_win_rank_matrix(df, df2, game_item, 4)
         if 50 <= game_item.team1_rank < 60:
             self.team2_win_rank_matrix(df, df2, game_item, 5)
         if 60 <= game_item.team1_rank < 70:
             self.team2_win_rank_matrix(df, df2, game_item, 6)
         if 70 <= game_item.team1_rank < 80:
             self.team2_win_rank_matrix(df, df2, game_item, 7)
         if 80 <= game_item.team1_rank < 90:
             self.team2_win_rank_matrix(df, df2, game_item, 8)
         if 90 <= game_item.team1_rank < 100:
             self.team2_win_rank_matrix(df, df2, game_item, 9)
         if game_item.team1_rank >= 100:
             self.team2_win_rank_matrix(df, df2, game_item, 10)
     return df, df2
Beispiel #5
0
 def create_or_update_game(self, 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):
     if game is None:
         if team1_score > team2_score:
             game = GameDAO().createGame(
                 championship.id_championship, team1.id_team, team2.id_team,
                 game_datetime, team1_score, team2_score, team1.id_team,
                 best_of, team1_pick, team2_pick, team1_removes,
                 team2_removes, map_left, team1_rank, team2_rank)
         elif team1_score < team2_score:
             game = GameDAO().createGame(
                 championship.id_championship, team1.id_team, team2.id_team,
                 game_datetime, team1_score, team2_score, team2.id_team,
                 best_of, team1_pick, team2_pick, team1_removes,
                 team2_removes, map_left, team1_rank, team2_rank)
         else:
             game = GameDAO().createGame(
                 championship.id_championship, team1.id_team, team2.id_team,
                 game_datetime, team1_score, team2_score, None, best_of,
                 team1_pick, team2_pick, team1_removes, team2_removes,
                 map_left, team1_rank, team2_rank)
     else:
         if team1_score > team2_score:
             GameDAO().updateGame(game, championship.id_championship,
                                  team1.id_team, team2.id_team,
                                  game_datetime, team1_score, team2_score,
                                  team1.id_team, best_of, team1_pick,
                                  team2_pick, team1_removes, team2_removes,
                                  map_left, team1_rank, team2_rank)
         elif team1_score < team2_score:
             GameDAO().updateGame(game, championship.id_championship,
                                  team1.id_team, team2.id_team,
                                  game_datetime, team1_score, team2_score,
                                  team2.id_team, best_of, team1_pick,
                                  team2_pick, team1_removes, team2_removes,
                                  map_left, team1_rank, team2_rank)
         else:
             GameDAO().updateGame(game, championship.id_championship,
                                  team1.id_team, team2.id_team,
                                  game_datetime, team1_score, team2_score,
                                  None, best_of, team1_pick, team2_pick,
                                  team1_removes, team2_removes, map_left,
                                  team1_rank, team2_rank)
     return game
Beispiel #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)
    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
    def get_data_set(self):
        # df = pd.DataFrame(columns=['Team1Confidence', 'Team1WinPercentage', 'Team1Rank', 'Team1AverageOppRank',
        #                           'Team1PlayersPlusMinos', 'Team1RoundsPlusMinos',
        #                           'Team2Confidence', 'Team2WinPercentage', 'Team2Rank', 'Team2AverageOppRank',
        #                           'Team2PlayersPlusMinos', 'Team2RoundsPlusMinos', 'Team1Winner'])

        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'])

        games = GameDAO().list_last_games()
        counter = 0
        for game in games:
            # if counter == 500:
            #    break

            team1_last_10_games = GameDAO().list_team_last_maps_games(game.id_game, game.id_team1, number_maps_to_consider)
            team2_last_10_games = GameDAO().list_team_last_maps_games(game.id_game, game.id_team2, number_maps_to_consider)

            if len(team1_last_10_games) < number_maps_to_consider or len(team2_last_10_games) < number_maps_to_consider:
                continue
            if game.team1_picks_maps == "" and game.team2_picks_maps == "":
                continue
            team1_confidence = team_indicators.get_team_confidence(team1_last_10_games, game.id_team1)
            team2_confidence = team_indicators.get_team_confidence(team2_last_10_games, game.id_team2)

            win_percentage_team1 = TeamIndicators().win_lost_percentage_by_rank_window_and_maps(game.id_team1,
                                                                                                team1_last_10_games)
            win_percentage_team2 = TeamIndicators().win_lost_percentage_by_rank_window_and_maps(game.id_team2,
                                                                                                team2_last_10_games)

            win_percentage_team1_by_map = TeamIndicators().get_win_percentage_by_maps_and_opp_rank_dictionary(
                win_percentage_team1, game.team2_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, game.team1_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, game.id_team1)
            average_opp_rank_team2 = team_indicators.get_average_opp_rank_by_map(team2_last_10_games, game.id_team2)

            plus_minos_rounds_team1 = team_indicators.get_plus_minos_rounds_team(team1_last_10_games, game.id_team1)
            plus_minos_rounds_team2 = team_indicators.get_plus_minos_rounds_team(team2_last_10_games, game.id_team2)

            gamesWithTeam1PlayersStats = GameDAO().list_team_last_games_with_players_stats(game.id_game, game.id_team1,
                                                                                           15 * number_maps_to_consider)
            gamesWithTeam2PlayersStats = GameDAO().list_team_last_games_with_players_stats(game.id_game, game.id_team2,
                                                                                           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[counter, 'Team1Rank'] = game.team1_rank
            df.loc[counter, 'Team2Rank'] = game.team2_rank

            df.loc[counter, 'Map1_Mirage'] = 0
            df.loc[counter, 'Map1_Dust2'] = 0
            df.loc[counter, 'Map1_Vertigo'] = 0
            df.loc[counter, 'Map1_Inferno'] = 0
            df.loc[counter, 'Map1_Overpass'] = 0
            df.loc[counter, 'Map1_Train'] = 0
            df.loc[counter, 'Map1_Nuke'] = 0
            df.loc[counter, 'Map2_Mirage'] = 0
            df.loc[counter, 'Map2_Dust2'] = 0
            df.loc[counter, 'Map2_Vertigo'] = 0
            df.loc[counter, 'Map2_Inferno'] = 0
            df.loc[counter, 'Map2_Overpass'] = 0
            df.loc[counter, 'Map2_Train'] = 0
            df.loc[counter, 'Map2_Nuke'] = 0

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

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

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

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

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

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

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

            df.loc[counter, 'Team1Winner'] = 1 if game.team1_score > game.team2_score else 0

            counter = counter + 1
        print(df)
        df.to_csv(r'C:\Users\fabio\Documents\Projetos\CSGOAnalysis\dataframe.csv', index=True)
        return df