Python 如何在同一标签下打印多个柱条形图
我希望绘制我的dataframe,它包含许多列,每个列都有一个“TRUE”或“FALSE”标签(从Excel导入) 类似的一个小例子是:Python 如何在同一标签下打印多个柱条形图,python,pandas,numpy,matplotlib,seaborn,Python,Pandas,Numpy,Matplotlib,Seaborn,我希望绘制我的dataframe,它包含许多列,每个列都有一个“TRUE”或“FALSE”标签(从Excel导入) 类似的一个小例子是: df = pd.DataFrame({"a":["TRUE","FALSE","FALSE","TRUE","FALSE"], "b":["TRUE","TRUE","FALSE","TRUE","TRUE"], "c":["TRUE","FALSE","FALSE","FALSE","TRUE"], "d":["FALSE","FALSE","TRUE","
df = pd.DataFrame({"a":["TRUE","FALSE","FALSE","TRUE","FALSE"],
"b":["TRUE","TRUE","FALSE","TRUE","TRUE"],
"c":["TRUE","FALSE","FALSE","FALSE","TRUE"],
"d":["FALSE","FALSE","TRUE","TRUE","FALSE"]})
我正在寻找一种方法来简明地总结真值和假值是如何在列之间分布的。理想情况下,将创建如下图形:
但我不确定如何创造这个。我试过理解列表,就像试过一样
sns.barplot([list(df[i].value_counts())用于df.columns中的i])
但是得到完全不同的东西。我甚至不需要知道如何制作传奇,我只是将其包含在示例中,希望能更好地描述我的追求。给你:
df.stack().groupby(level=1).value_counts().unstack(0).plot.bar()
输出:
您已经尝试了更有效的方法。如果要将其缩放到更大的帧,则应计算每个序列的
值\u计数
。您只需更改绘图
f = pd.concat(
[df[s].value_counts() for s in df], axis=1, sort=False)
f.plot(kind='bar')
听起来你在找一个2箱的直方图