首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seaborn countplot在泰坦尼克号数据集上显示错误结果

Seaborn countplot在泰坦尼克号数据集上显示错误结果
EN

Stack Overflow用户
提问于 2019-10-30 18:23:19
回答 1查看 109关注 0票数 0

我正在研究泰坦尼克号的数据集,它是从以下网站获得的:https://public.opendatasoft.com/explore/dataset/titanic-passengers/table/?flg=fr

我想显示每个幸存班级的男性和女性人数(是或否)。

首先,我得到了男性和女性的总人数,使用:

代码语言:javascript
复制
bysex=data1['Sex'].value_counts()
print(bysex)

这给了我以下结果:

代码语言:javascript
复制
male      577
female    314
Name: Sex, dtype: int64

结果表明,男性多于女性。

但是,当我使用seaborn来显示每个幸存班级的男性和女性人数时,使用以下代码:

代码语言:javascript
复制
plot1 = sns.FacetGrid(data1, col='Survived')
plot1.map(sns.countplot,'Sex')

然后我得到这个结果:enter image description here

在这里,它表明,女性的数量大于男性的数量,对于没有幸存的类别,女性的数量(约450)甚至超过了女性的总数(314)。

这怎麽可能?

EN

回答 1

Stack Overflow用户

发布于 2019-10-30 18:41:12

我认为映射有问题。在左边的图中,性别是互换的。

代码语言:javascript
复制
data1.loc[data1["Survived"] == "No", 'Sex'].value_counts()
male      468
female     81
Name: Sex, dtype: int64

第二个情节是正确的。

代码语言:javascript
复制
data1.loc[data1["Survived"] == "Yes", 'Sex'].value_counts()
female    233
male      109
Name: Sex, dtype: int64

另一方面,当您使用

代码语言:javascript
复制
ax = sns.countplot(x="Survived", hue="Sex", data=data1)

你会得到正确的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58623206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档