我只是想使用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)