熊猫在从另一列进行排序/保留排序顺序时转为条形图

我有一个看起来像这样的熊猫数据框:

Int64Index: 125 entries, 0 to 124
Data columns (total 5 columns):
Player          125 non-null object
PTS             125 non-null int64
Value           125 non-null object
FG              125 non-null int64
dtypes: int64(2), object(3)

我想使用“值”作为堆栈的图例(堆栈条的不同部分),使用“ FG”作为值(堆栈的每个部分的大小),使用“播放器”来构建堆积的条形图'作为要绘制的每个项目的x轴标签,并按'PTS'对项目进行排序。

我已经能够透视这些数据并以多种不同的方式从中构建条形图,但是它们都无法正确排序。如果我先进行排序,则排序顺序会丢失。我一直无法找到一种方法来将“ PTS”列合并到数据透视图中而不破坏我正在做的事情。

这会构建我想要的条形图,但是没有排序(还不是很漂亮,我以后可以处理):

df.pivot(index='Value', columns='Player', values='FG').T.plot(kind='bar', stacked=True)

在此处输入图片说明

完善

考虑在按聚合计算的总PTS降序排列之前,先创建一个播放器列表然后在数据透视表的列调用中使用此列表groupbyreindex

# AGGREGATE POINTS --> SORT --> RETRIEVE INDEX VALUES
sort_list = df.groupby('Player').sum().sort_values('PTS', ascending=False).index

# PIVOT --> REINDEX COLUMNS --> TRANSPOSE & PLOT
(df.pivot(index='Value', columns='Player', values='FG')
   .reindex(sort_list, axis='columns')                     # USING ABOVE SORTED PLAYER LIST
   .T
   .plot(kind='bar', stacked=True)
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用另一列的排序顺序对条形图进行排序?

ggplot无法重新排序时对条形图进行排序

在熊猫中对列进行排序,然后在保持上一列排序的同时对另一列进行排序

熊猫堆积条形图与排序的值

条形图 - 在一列熊猫上绘制多行

如何对矩阵的条形图进行排序?

是否可以根据类别之一的值对Altair分组条形图的列进行排序?

如何绘制堆叠的条形图,其中每个条形图的顺序是基于一列的,而每个色阶的颜色是基于另一个的?

根据另一列的顺序对一列进行排序-Excel

SQL:按顺序排序-如果出现并列,则对另一列进行排序

熊猫按另一列的平均值对一列的值进行排序

熊猫按另一列中的值对一列进行排序

如何对 Dataframe 中的 2 列进行排序,一列按降序排序,另一列按对应于第一列的字母顺序排序

在保留一些顺序的同时,按第一列对逗号分隔的文件进行排序

使用差异对列进行分组并在熊猫中按另一列对另一列进行排序

如何对多列进行切片并对熊猫中的另一列进行排序

在 Python 中为分组条形图按特定顺序对 x 轴进行排序

在仅对一列的值进行排序时使用键

根据R中另一列的顺序对列进行排序

根据熊猫中的另一列对唯一值进行排序

在一列中按出现顺序对DataFrame进行排序,而在其他列中保留顺序

排序堆积的条形图

AutoHotkey 如何在按降序对第一列中的数字进行排序时保持第二列的顺序?

我应该在哪里对条形图进行重新排序以实现使条形组与数据帧相同的顺序

通过添加另一列来对我的熊猫数据框中的重复项进行排序

根据一列中的值(以另一列为条件)按顺序对数据进行排序

按ggplot中的值总和对条形图进行排序

在Matplotlib中分别对堆积的条形图进行排序

通过matplotlib中的列表值对条形图进行排序