我有一个如下形式的数据框:
Player | Team | Total_Points
A 1 50
B 2 75
C 3 40
A 1 45
D 3 150
在n个队中有x名球员,并且没有球员在一个以上的队中。我想做一个球员和球队的条形图比赛(前10名球员条形图比赛,n队条形图比赛)。我希望团队的每一次事件都算作一个步骤
我假设下一步是为原始数据框中的每一行将数据框转换为类似的内容(如果使用团队条形图):
Team_1_CumSum | Team_2_CumSum | Team_3_CumSum | Team_4_CumSum |
50 0 0 0
50 75 0 0
50 75 40 0
95 75 40 0
95 75 190 0
在这之后,我将进行条形图比赛
关于如何:
对于转换,我尝试了:
df = df.groupby(['Team', 'total_points']).sum().groupby(level=0).cumsum().reset_index()
还没有到条形图部分。有什么想法吗?:)
编辑:
斯科特·波士顿的答案有效!问题是我有2000多行,动画太长了。我现在想做的是:
Player | Team | Total_Points | Match_Number
A 1 50 1
B 2 75 1
C 3 40 2
A 1 45 2
D 3 150 3
我不想把原始问题中列出的累计总和分组,而是想按团队和比赛分组,这样步骤就更小了
Team_1_CumSum | Team_2_CumSum | Team_3_CumSum | Team_4_CumSum | Match
50 75 0 0 1
95 75 40 0 2
95 75 190 0 3
基本上,每场比赛一排
试试这个:
输出:
然后看看如何使用(https://pypi.org/project/bar-chart-race/)
相关问题 更多 >
编程相关推荐