我有一些与 friend 一起玩的游戏的得分数据,看起来像:

df = pd.DataFrame({'Player' : ['A', 'B', 'C', 'D', 'E'],
                   'Score1' : [100, 150, 110, 180, 125],
                   'Score2' : [200, 210, np.nan, 125, 293],
                   'Score3' : [50, 35, 200, 100, 180]})

如果我执行df.boxplot(),我将获得基于Score#(即基于整个社区的分数)的箱线图:

python -  Pandas :如何使箱形图基于行值而不是列值?-LMLPHP

现在,我想为每个玩家做一个boxplot(),这样我们就可以看到他们如何相互排名。像这样的东西:

python -  Pandas :如何使箱形图基于行值而不是列值?-LMLPHP

我尝试做的第一件事是对转置矩阵进行箱线图绘制:
df.T.boxplot()

但是我收到一个错误IndexError: list index out of range
我认为这与在转位中创建的索引有关,因此我一直在使用它们,但是我真的不知道该怎么办。

最佳答案

您需要将索引设置为玩家

import pandas as pd
import numpy as np

df = pd.DataFrame({'Player' : ['A', 'B', 'C', 'D', 'E'],
                   'Score1' : [100, 150, 110, 180, 125],
                   'Score2' : [200, 210, np.nan, 125, 293],
                   'Score3' : [50, 35, 200, 100, 180]})
df = df.set_index('Player')
print df
df.T.boxplot()

python -  Pandas :如何使箱形图基于行值而不是列值?-LMLPHP

关于python - Pandas :如何使箱形图基于行值而不是列值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42990461/

10-13 09:06