本节主要是通过Python的数据可视化库Matplotlib来实现数据可视化操作。
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
re = pd.read_csv('result.csv')
可视化展示泰坦尼克号数据集中男女中生存人数分布情况:
sex = re.groupby('Sex')['Survived'].sum()
sex.plot.bar()#条形图
plt.title('sex_survived_count')
plt.show()#展示可视化结果
从柱形图中可以直观看出女性存活人数远远多于男性,所以性别可能是影响存活率的因素之一。
可视化展示泰坦尼克号数据集中男女中生存人与死亡人数的比例图:
re.groupby(['Sex','Survived'])['Survived'].count().unstack().plot(kind='bar',stacked='True')
plt.ylabel('count')
可视化展示泰坦尼克号数据集中不同仓位等级的人生存和死亡人员的分布情况:
fare_s = re.groupby(['Fare'])['Survived'].value_counts().sort_values(ascending=False)
#计算不同票价中生存与死亡人数,并降序排列
fig = plt.figure(figsize=(20, 18))
fare_s.plot(grid=True)
plt.legend()
plt.show()
若未排序,最后的图像如下,会非常混乱,不利于观察。
可视化展示泰坦尼克号数据集中不同仓位等级的人生存和死亡人员的分布情况:
pclass_s = re.groupby(['Pclass'])['Survived'].value_counts()
import seaborn as sns
sns.countplot(x="Pclass", hue="Survived", data=re)
可视化展示泰坦尼克号数据集中不同年龄的人生存与死亡人数分布情况:
facet = sns.FacetGrid(re, hue="Survived",aspect=3)
facet.map(sns.kdeplot,'Age',shade= True)
facet.set(xlim=(0, re['Age'].max()))#限制x轴的范围
facet.add_legend()
可视化展示泰坦尼克号数据集中不同仓位等级的人年龄分布情况:
re.Age[re.Pclass == 1].plot(kind='kde')
re.Age[re.Pclass == 2].plot(kind='kde')
re.Age[re.Pclass == 3].plot(kind='kde')
plt.xlabel("age")
plt.legend((1,2,3),loc="best")
总结:在简单处理完数据后,需要对数据进行可视化操作,这样可以更直观的观察数据,获取其中的信息。数据可视化是个很有趣的过程,将繁多的数字转换成图像的形式,不光更加直观,也很简洁和具有说服力。