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
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
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
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