代码之家  ›  专栏  ›  技术社区  ›  hellowolrd

频率Seaborn计数图

  •  0
  • hellowolrd  · 技术社区  · 6 年前

    下面是一些基本的代码示例:

    import seaborn as sns
    titanic = sns.load_dataset("titanic")
    ax = sns.countplot(x="class", hue="who", data=titanic)
    

    enter image description here

    我想要的只是频率的历史,比如人,对于变量“class”的每个标签。

    例如,对于“class”=“first”,我们应该有一部分男性等于110/(110+90+5)。

    希伯恩有可能吗?谢谢

    1 回复  |  直到 6 年前
        1
  •  0
  •   ImportanceOfBeingErnest    6 年前

    您可能希望将只有男人的计数除以按 "class" . (请注意,seaborn仅用于在此处加载数据集。)

    import seaborn as sns
    titanic = sns.load_dataset("titanic")
    
    df1 = titanic.groupby("class").size()
    df2 = titanic[titanic["who"] == "man"].groupby("class").size()
    
    (df2/df1).plot.bar(title="Proportion of men on titanic", color="C0")
    

    enter image description here