我有一个 2019-2020 赛季 NBA 球员数据的 pandas 数据框。一些球员的名字出现不止一次,因为他们在整个赛季中效力于多支不同的球队。我想组织数据框,以便每个球员的名字只出现一次,对于名字出现多次的球员,我想取他们所有统计数据的平均值并将其放在一行中。
例如,如果有一个球员在 3 个不同的球队打球并连续出现在 3 行中,我想将这 3 行合并为一行,新行是三行所有统计数据的平均值.
以下是多次出现玩家姓名的示例:
有没有什么简单的方法可以做到这一点?我不知道一个球员可能出现多少次,我也不知道有多少球员的名字出现了多次。我想遍历数据框并取具有相同玩家名称的行的所有统计数据的平均值。
如果需要,我可以删除 'Tm' 列或任何字符串列(除了 'Player'),因为我不是绝对需要它们,但如果可能,我宁愿保留它们。
答案 0 :(得分:0)
您可以为此使用 group by 方法:
cols = [col for col in df.columns if all(char.isdigit() for char in col)]
df.groupby('player')[cols].mean()