Python 保持熊猫群居区的秩序

Python 保持熊猫群居区的秩序,python,pandas,matplotlib,Python,Pandas,Matplotlib,我有一个如下所示的数据框 univ date ms cs C 11/01/1977 0.2 0.1 C 11/02/1977 0.3 0.4 B 11/01/1977 0.6 -0.1 B 11/02/1977 0.55 -0.5 A 11/01/1977 0.23 0.2 A 11/02/1977 0.12 0.

我有一个如下所示的数据框

univ  date            ms      cs
 C    11/01/1977      0.2     0.1
 C    11/02/1977      0.3     0.4
 B    11/01/1977      0.6     -0.1
 B    11/02/1977      0.55    -0.5
 A    11/01/1977      0.23    0.2
 A    11/02/1977      0.12    0.15
 etc
这就是我现在拥有的

fig, axes = plt.subplots(1, 3, figsize=(15, 5))

for (universe, group), ax in zip(df.groupby([df.univ]), axes.flatten()):
    group.plot(x='ms', y='cs', kind='scatter', ax=ax, title=universe)
    ax.set_xlim(0, 1)
    ax.set_ylim(0, 1)
这将生成3个散点图,限制范围为0到1。 我想做的是保持标题为C,B,A的图的顺序,这样它就可以按A,B,C排序

谢谢你的帮助

问题在于默认情况下按排序顺序返回项目的groupby。只需将标志sort设置为False

您也可以按照您想要的任何顺序返回它们

gb = df.groupby('univ')
desired_order = ('B', 'A', 'C')
for (universe, group), ax in zip(((u, gb.get_group(u)) for u in desired_order), 
                                 axes.flatten()):
    ...

顺便说一句,每篇文章你应该只有一个问题。

请修复缩进可能重复的问题
gb = df.groupby('univ')
desired_order = ('B', 'A', 'C')
for (universe, group), ax in zip(((u, gb.get_group(u)) for u in desired_order), 
                                 axes.flatten()):
    ...