我正在努力为每支球队争取最多的比赛,胜利和失败
I'm trying to get the max games, wins and lost played for each team
这里是我正在尝试编辑的 CSV 文件示例,您可以看到 L.A。湖人队在第一行出现两次,在第十五行再次出现。
我想要做的是球队的详细信息,包括每支球队的最终比赛数量、胜负。 csv文件中G代表游戏,W赢,L输。
我的导入
import pandas as pd
import numpy as np
正在读取和排序文件
ranking = pd.read_csv("ranking.csv")
sortedranks = ranking.sort_values(["SEASON_ID"], ascending=False)
获取 2019 年排名并删除重复项但不起作用
rank19 = sortedranks[sortedranks.SEASON_ID == 22019]
rank19.drop_duplicates(subset="G", keep = False, inplace = True)
将您的 DataFrame
分组可以为您完成工作。我将演示如何使用您的数据的这个简化版本:
import pandas as pd
data = {
'Team':['L.A. Lakers', 'Denver',
'Houston', 'Utah', 'Oklahoma',
'L.A. Lakers', 'Dallas'],
'G':[59,60,59,59,60,58,60],
'W':[46,41,39,37,37,45,36],
'L':[13,19,20,22,23,13,24],
}
df = pd.DataFrame(data)
print(df)
输出:
Team G W L
0 L.A. Lakers 59 46 13
1 Denver 60 41 19
2 Houston 59 39 20
3 Utah 59 37 22
4 Oklahoma 60 37 23
5 L.A. Lakers 58 45 13
6 Dallas 60 36 24
现在我可以使用 groupby
并按最大值聚合:
grouped = df.groupby('Team')[['G', 'W', 'L']].agg('max')
print(grouped)
输出:
G W L
Team
Dallas 60 36 24
Denver 60 41 19
Houston 59 39 20
L.A. Lakers 59 46 13
Oklahoma 60 37 23
Utah 59 37 22
这里是我正在尝试编辑的 CSV 文件示例,您可以看到 L.A。湖人队在第一行出现两次,在第十五行再次出现。
我想要做的是球队的详细信息,包括每支球队的最终比赛数量、胜负。 csv文件中G代表游戏,W赢,L输。
我的导入
import pandas as pd
import numpy as np
正在读取和排序文件
ranking = pd.read_csv("ranking.csv")
sortedranks = ranking.sort_values(["SEASON_ID"], ascending=False)
获取 2019 年排名并删除重复项但不起作用
rank19 = sortedranks[sortedranks.SEASON_ID == 22019]
rank19.drop_duplicates(subset="G", keep = False, inplace = True)
将您的 DataFrame
分组可以为您完成工作。我将演示如何使用您的数据的这个简化版本:
import pandas as pd
data = {
'Team':['L.A. Lakers', 'Denver',
'Houston', 'Utah', 'Oklahoma',
'L.A. Lakers', 'Dallas'],
'G':[59,60,59,59,60,58,60],
'W':[46,41,39,37,37,45,36],
'L':[13,19,20,22,23,13,24],
}
df = pd.DataFrame(data)
print(df)
输出:
Team G W L
0 L.A. Lakers 59 46 13
1 Denver 60 41 19
2 Houston 59 39 20
3 Utah 59 37 22
4 Oklahoma 60 37 23
5 L.A. Lakers 58 45 13
6 Dallas 60 36 24
现在我可以使用 groupby
并按最大值聚合:
grouped = df.groupby('Team')[['G', 'W', 'L']].agg('max')
print(grouped)
输出:
G W L
Team
Dallas 60 36 24
Denver 60 41 19
Houston 59 39 20
L.A. Lakers 59 46 13
Oklahoma 60 37 23
Utah 59 37 22