【问题标题】:How to chart the values of two columns in seaborn如何在seaborn中绘制两列的值
【发布时间】:2020-04-05 00:53:18
【问题描述】:

我只是想使用 seaborn 条形图比较我的数据框中两列的总和,但我认为我这样做的效率真的很低。必须有更好的方法来做到这一点。

这就是我如何将我想要比较总数的两列相加。

total_member_paid = alee_merge_df['Total_Member_Paid'].sum()
total_plan_paid = alee_merge_df['Total_Plan_Paid'].sum()

然后,我正在制作一个数据框来绘制这些值。我想要 x 轴上的两个列名,以及 Y 轴上的总数,但我没有看到一个简单的方法来做到这一点。

这是我创建的数据框:

total_rx_spend_df = pd.DataFrame(columns=['Total_Member_Paid', 'Total_Plan_Paid'])
total_rx_spend_df.at[0, 'Total_Member_Paid'] = total_member_paid
total_rx_spend_df.at[0, 'Total_Plan_Paid'] = total_plan_paid

数据如下:

    Total_Member_Paid   Total_Plan_Paid
0   639713              7.48757e+06

我想要两个条形图,X 轴上是列名,Y 轴上是它们的总数。我是否应该旋转这些数据以使列名成为数据的一部分?这似乎应该很容易,但我似乎在 Google 上找不到任何尝试做同样事情的东西。

编辑:我能够非常接近我正在寻找的东西,但是使用熊猫:

total_rx_spend_df[['Total_Member_Paid','Total_Plan_Paid']].plot(kind='bar')

有没有办法做到这一点,但在 seaborn 中?

【问题讨论】:

    标签: python matplotlib seaborn


    【解决方案1】:

    好的,所以我可以通过将 melt 应用于我的数据框来获得我正在寻找的内容:

    total_rx_spend_melt = pd.melt(total_rx_spend_df)
    

    这个游戏给我一个看起来像这样的数据框:

        variable            value
    0   Total_Member_Paid   639713
    1   Total_Plan_Paid     7.48757e+06
    

    然后用一个简单的条形图显示了我想要的情节。

    sns.barplot(x='variable', y = 'value', data = total_rx_spend_melt)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-21
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      相关资源
      最近更新 更多