如何绘制 seaborn 中两列的值



我只是想使用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 轴上。 我应该透视此数据,以便列名成为数据的一部分吗? 这似乎很容易,但我似乎在谷歌上找不到任何试图做同样的事情。

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

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

有没有办法做到这一点,但是在海上

好的,所以我能够通过将熔体应用于我的数据帧来获得我想要的东西:

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)

最新更新