如何标准化和绘制这些数据?

时间:2019-11-06 20:08:11

标签: python pandas matplotlib pandas-groupby

我正在尝试在堆积条形图中绘制以下数据,但是我不知道如何以最佳方式进行绘制。

我有以下数据:

**player**     **action**         **count**
player1        lost               15
               win                3
player2        lost               78
               win                61
               leave              6
                                  ..
player100      lost               43
               win                22
               leave              9
player101      lost               5
               leave              4

这是一个熊猫系列,因此在每个“玩家”属性中,可以将其与三个不同的动作(“输,赢,离”)相关联,某些玩家只能拥有另外两个和另外三个中的一个。

我想对这些数据进行归一化,并绘制一个像这样的赌注栏。

我从

获取数据
df_players = df.groupby('players')['action'].value_counts()

所以我真的无法像行一样访问计数

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以按等级将计数除以总和:

.exe

从您的评论中

更新,您可以执行以下操作:

(df['count'].div(df.['count'].sum(level='player'))
            .mul(100)
            .unstack('action')
            .plot.barh(stacked=True)
)