繁体   English   中英

如何使用 Pandas 绘制这个令人困惑的多条形图?

[英]How do I plot this confusing multiple bar plot using Pandas?

作为更大数据集的一部分,我有一个关于银行的列(值是不同的名称)和一个关于抵押状态的列(值:接受;拒绝)。 我在创建一个多条形图时遇到了很多麻烦,该图将银行作为每个 x 值,然后每个值上的两个条形表示接受的数量与拒绝的数量。 附上我想要的最终结果的模型,但我不知道如何到达那里。 我需要使用 groupby 吗? 示例图

这是一个快速的MVCE:

from seaborn import load_dataset
import pandas as pd

df_tip = load_dataset('tips')
print(df_tip.head())

原始数据帧的输出:

   total_bill   tip     sex smoker  day    time  size
0       16.99  1.01  Female     No  Sun  Dinner     2
1       10.34  1.66    Male     No  Sun  Dinner     3
2       21.01  3.50    Male     No  Sun  Dinner     3
3       23.68  3.31    Male     No  Sun  Dinner     2
4       24.59  3.61  Female     No  Sun  Dinner     4

将数据框重塑为如下所示,将分组条作为列,将 x 轴作为数据框行索引:

df_chart = df_tip.groupby(['day', 'sex'])['total_bill'].sum().unstack()
print(df_chart)

输出 df_chart:

sex      Male  Female
day                  
Thur   561.44  534.89
Fri    198.57  127.31
Sat   1227.35  551.05
Sun   1269.46  357.70

用熊猫图绘制:

df_chart.plot.bar()

图表:

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM