1.可视化展示泰坦尼克号数据集中男女中生存人数分布情况(用柱状图)
sex=data.groupby('Sex')['Survived'].sum()
sex.plot.bar()
plt.title('survived_count')
plt.show()
2.可视化展示泰坦尼克号数据集中男女中生存人与死亡人数的比例图
group=data.groupby(['Sex','Survived'])['Survived'].count().unstack().plot(kind='bar',stacked='True')
用法解释:
先按照sex,survived两列来分组,取出survived这一列,计算男女存活人数
group=data.groupby(['Sex','Survived'])['Survived'].count()
#此时group结果如下
Sex Survived
female 0 81
1 233
male 0 468
1 109
group=data.groupby(['Sex','Survived'])['Survived'].count().unstack()
#后面使用unstack函数,将行转换成列,stack即将列转成行,结果如下:
Survived 0 1
Sex
female 81 233
male 468 109
3.可视化展示泰坦尼克号数据集中不同票价的人生存和死亡人数分布情况。(用折线图试试)(横轴是不同票价,纵轴是存活人数)
fare_sur=data.groupby('Fare')['Survived'].value_counts().sort_values(ascending=False) #按降序排列
fare_sur.plot(grid=True) #开启网格
#这里使用sort_values先排序,生成的折线图会有单调性,更好看
4.可视化展示泰坦尼克号数据集中不同仓位等级的人生存和死亡人员的分布情况。(用柱状图)
import seaborn as sb
class_sur=data.groupby('Pclass')['Survived'].value_counts()
sb.countplot(x="Pclass", hue="Survived", data=data)
注意这里的value_counts()是分别统计生存和死亡的人数,用count()只能统计生存和死亡总人数
5.可视化展示泰坦尼克号数据集中不同年龄的人生存与死亡人数分布情况
facet = sb.FacetGrid(data, hue="Survived",aspect=3) #生成坐标轴
facet.map(sb.kdeplot,'Age',shade= True) #shade=True 表示给图像加上阴影
facet.set(xlim=(0, data['Age'].max()))
facet.add_legend()
6.可视化展示泰坦尼克号数据集中不同仓位等级的人年龄分布情况
data.Age[data.Pclass==1].plot(kind='kde')
data.Age[data.Pclass==2].plot(kind='kde')
data.Age[data.Pclass==3].plot(kind='kde')
plt.xlabel('age') #x轴标签
plt.legend('123') #图例 也可以写成plt.legend((1,2,3))