【问题标题】:Pandas DataFrame bar plot with sort_values by other columnPandas DataFrame 条形图,按其他列排序值
【发布时间】:2017-04-15 15:18:14
【问题描述】:

我有一个 Pandas 数据框。我想用条形图绘制两列的值,条形图按另一列对值进行排序。

例如,我想按列a_b(列ab 的总和)对值进行降序排序。 另外,xlabel旋转了,我想修复一下。

您的帮助将不胜感激。

import pandas as pd
%matplotlib inline
a = pd.Series([4,8,6,7,8,3,9,7])
b = pd.Series([3,6,8,3,4,6,10,4])
a_b = a+b
df = pd.concat([a,b,a_b],axis=1,join='inner')
df.columns = ['a','b','c']

df[['a','b']].sort_values(by='a',ascending=False).plot(kind='bar',stacked=True)

【问题讨论】:

    标签: python pandas matplotlib plot


    【解决方案1】:

    首先按c 对数据框进行排序,然后用绘图。

    df.sort_values('c', ascending=False)[['a','b']].plot.bar(stacked=True)
    

    【讨论】:

      【解决方案2】:

      在@piRSquared 答案中使用rot=0 修复旋转问题。

      df.sort_values('c', ascending=False)[['a','b']].plot.bar(stacked=True, rot=0)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-16
        • 2018-02-14
        • 1970-01-01
        • 2016-09-14
        • 2020-02-28
        • 1970-01-01
        相关资源
        最近更新 更多