以下学习笔记来自Datawhale组队学习的数据分析课程第二章,此次数据分析课程主要是完成kaggle上泰坦尼克的任务,实战数据分析全流程。
链接:https://github.com/datawhalechina/hands-on-data-analysis
前面我们对泰坦尼克号数据有了基本的了解,也学到了一些基本的统计方法,下面我们对数据进行简单的可视化
数据可视化
首先导入包和数据
%matplotlib inline
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
其中的%matplotlib inline
语句可以在IPython编译器里直接使用,作用是内嵌画图,省略掉plt.show()这一步,直接显示图像。
data=pd.read_csv('result.csv')
data.head()
可视化展示泰坦尼克号数据集中男女中生存人数分布情况
sex=data.groupby('Sex')['Survived'].sum()
sex.plot.bar()
plt.title('survived_count')
可视化展示泰坦尼克号数据集中男女中生存人与死亡人数的比例图
data.groupby(['Sex','Survived'])['Survived'].count().unstack().plot(kind='bar',stacked='True')
plt.title('survived_count')
plt.ylabel('count')
可视化展示泰坦尼克号数据集中不同票价的人生存和死亡人数分布情况
# 计算不同票价中生存与死亡人数 1表示生存,0表示死亡
fare_sur = data.groupby(['Fare'])['Survived'].value_counts().sort_values(ascending=False)
fare_sur
fig = plt.figure(figsize=(20, 18))
fare_sur.plot(grid=True)
plt.legend()
plt.show()
# 排序前绘折线图
fare_sur1 = data.groupby(['Fare'])['Survived'].value_counts()
fare_sur1
可视化展示泰坦尼克号数据集中不同仓位等级的人生存和死亡人员的分布情况
pclass_sur = data.groupby(['Pclass'])['Survived'].value_counts()
pclass_sur
import seaborn as sns
sns.countplot(x="Pclass", hue="Survived", data=data)
可视化展示泰坦尼克号数据集中不同年龄的人生存与死亡人数分布情况
facet = sns.FacetGrid(data, hue="Survived",aspect=3)
facet.map(sns.kdeplot,'Age',shade= True)
facet.set(xlim=(0, data['Age'].max()))
facet.add_legend()
可视化展示泰坦尼克号数据集中不同仓位等级的人年龄分布情况
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")
plt.legend((1,2,3),loc="best")
调用plot时加上kind='kde'
即可生成一张密度图