Python 如何绘制seaborn中两列的值
我只是想用seaborn条形图比较我的数据框中两列的两个总数,但我认为我这样做的效率很低。必须有更好的方法来做到这一点 下面是我将两列相加的方法,我想比较两列的总数Python 如何绘制seaborn中两列的值,python,matplotlib,seaborn,Python,Matplotlib,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_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
variable value
0 Total_Member_Paid 639713
1 Total_Plan_Paid 7.48757e+06
我想有两条横线,列名在X轴上,它们的总数在Y轴上。我应该旋转这些数据,使列名成为数据的一部分吗?这似乎应该很容易,但我似乎在谷歌上找不到任何试图做同样事情的东西
编辑:我能够非常接近我想要的东西,但是使用熊猫:
total_rx_spend_df[['Total_Member_Paid','Total_Plan_Paid']].plot(kind='bar')
有没有办法做到这一点,但在seaborn?好的,所以我可以通过将melt应用到我的数据帧来获得我想要的:
total_rx_spend_melt = pd.melt(total_rx_spend_df)
此游戏为我提供了一个如下所示的数据帧:
Total_Member_Paid Total_Plan_Paid
0 639713 7.48757e+06
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)