【问题标题】:PANDAS - Plotting specific rows and changing order of columnsPANDAS - 绘制特定行并更改列的顺序
【发布时间】:2023-03-10 00:48:01
【问题描述】:

我有以下 df

        PARTS
status  Amber   Red White   Yellow
SELECTOR                
BOTDWG   2652    8453    1577    4636
STRSUB   387     1236    218     595

我想绘制两个条形图。 BOTDWG & STRSUB 的每一行都有一个,但我希望这些条的顺序与 df 中的顺序不同。我需要红色、琥珀色、黄白色。

有什么想法可以做到这一点吗?

谢谢 西蒙

【问题讨论】:

标签: python plot pandas dataframe


【解决方案1】:

我想我会放弃多索引的第一级(带有 PARTS 的那个)*:

df1.columns = df1.columns.droplevel(0)

In [12]: df1
Out[12]:
status    Amber   Red  White  Yellow
SELECTOR
BOTDWG     2652  8453   1577    4636
STRSUB      387  1236    218     595

然后做一个(条形)图:

df1.plot(kind='bar')

要更改顺序,我可能会执行以下操作:

df1['Red Amber Yellow White'.split()].plot(kind='bar')
# equivalently:  df1[['Red', 'Amber', 'Yellow', 'White']].plot(kind='bar')

* 这样它只会打印 Amber(而不是元组(PARTS、Amber)等)

【讨论】:

  • 谢谢你,它成功了。但我发现我无法按照您指定的方式执行下降级别 df1.columns = df1.columns.droplevel(0) 。我不得不这样做 df​​2.columns = df1.columns.droplevel(0)
  • @PrestonDocks 这很有趣......也许我们的 df1/df2s 略有不同,很高兴你能成功! :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-07
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
相关资源
最近更新 更多