0

我正在使用葡萄牙银行营销数据集 http://archive.ics.uci.edu/ml/datasets/Bank+Marketing#

我想可视化每个分类特征的转换率,例如职业或婚姻状况。

使用 pandas groupby() 如下所示

df.groupby(["marital","y"])["y"].count().plot(kind="bar")

我得到下图 在此处输入图像描述

但是,我想创建一个更易读的图表,类似于 seaborn 教程中的图表。其中 X 是一些分类特征,Y 是一些值,色调根据其他一些指标对它们进行分组。 在此处输入图像描述

到目前为止,我的尝试导致以下错误:

sns.catplot(x = df["job"].value_counts().index, 
            y = df["job"].value_counts().values, 
            hue="y", 
            data=df, 
            kind="bar")

ValueError: Grouper and axis must be same length

任何指针将不胜感激!

4

1 回答 1

1

是不是你想要的:

df = sns.load_dataset('titanic')

df.groupby(['sex', 'class']).size().unstack().plot.bar()

# also
# pd.crosstab(df['sex'], df['class']).plot.bar()

输出:

在此处输入图像描述

于 2020-11-06T14:49:27.717 回答