【发布时间】:2019-03-04 10:40:55
【问题描述】:
您好,我想根据每支球队的积分而不是球队名称来对德甲联赛表进行排序。有人能帮我吗?目前我只能按团队名称对问题进行排序。我不知道如何对for循环后的点进行排序。
def push2(self):
#Download Database
urllib.request.urlretrieve(
"http://www.football-data.co.uk/mmz4281/1819/d1.csv",
"2018-19.csv")
#Read Database
df = pd.read_csv("2018-19.csv")
teams = df["HomeTeam"]
teams = teams.drop_duplicates()
teams = teams.sort_values(0, False, False)
teams = teams.tolist()
namesLen = len(teams)
for i in range(0, namesLen):
# Get points through victories
team = df[(df["HomeTeam"] == teams[i]) | (
df["AwayTeam"] == teams[i])]
teamWin = team[((team["FTR"] == "H") & (
team["HomeTeam"] == teams[i])) | (
(team["FTR"] == "A") & (
team["AwayTeam"] == teams[
i]))]
teamTotalPoints = (len(teamWin.index) * 3)
# Get points through draw
teamU = df[(df["HomeTeam"] == teams[i]) | (
df["AwayTeam"] == teams[i])]
teamD = teamU[(team["FTR"] == "D")]
teamDTotal = (len(teamD.index) * 1)
# Total points wins and points draws
teamT = teamTotalPoints + teamDTotal
teamTStr = str(teamT)
print(str( teamTStr + ": " +teams[i] ))
【问题讨论】:
-
我真的无法理解这段代码在做什么。为什么
df = pd.read_csv("2018-19.csv")在for循环中? -
我想按点对打印行进行排序