pandas 如何用百分比制作直方图

iecba09b  于 2023-04-10  发布在  其他
关注(0)|答案(1)|浏览(118)

我有一个“成员”数据框,其中有一个成功列和一个性别列。我想做一个直方图,将代表成功的女性的百分比和成功的男性的百分比。我设法得到成功的男女人数,但他们必须与男性和女性的数量更新,否则它是不具有代表性的。你有任何想法如何做到这一点?
验证码:

  • Dataframe
members = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/members.csv")
print(members)
  • 不确定性试验
sns.histplot(data=members, x="sex", y="success", stat='percent')
6ss1mwsb

6ss1mwsb1#

为了根据sexsuccess创建一个显示百分比的图形,我创建了一个数据框,将sex的值分组,并使用value.counts(normalize=True)查找归一化的数量以创建一个DataFrame。

members = pd.read_csv("https://raw.githubusercontent.com/rfordatascience/tidytuesday/master/data/2020/2020-09-22/members.csv")
df_members = members.groupby('sex')['success'].value_counts(normalize=True).mul(100).rename('percent').reset_index()
df_members

数据框:

然后我使用sns.catplot将sex放在X轴上,将percent放在Y轴上,通过成功进行分隔。

sns.catplot(data = df_members, x='sex', y = 'percent',kind='bar', hue='success')

相关问题