基于pandas和seaborn进行数据可视化以及相关性分析
来源:互联网 发布:知乎 小电影 编辑:程序博客网 时间:2024/05/22 00:13
本博客学习pandas数据结构和seabon,以kaggle数据集为例,完成数据可视化以及相关性分析。数据总共12列,其中Survived列为target属性(y属性)。
加载原始数据
train_data = pd.read_csv('../datas/train.csv') # train setprint train_data.head()
可视化相关性矩阵
计算各个属性的线性相关性,颜色越深相关性越大,并将与Survived相关性排序打印。
hitmapTemp = train_data[['Pclass','Age','SibSp','Parch','Fare','Survived']]hitmapData = hitmapTemp.corr()f, ax = plt.subplots(figsize=(12, 12))sns.heatmap(hitmapData, vmax=1, square=True)plt.savefig('./figs/Correlation-Matrix.png')hitmap_dict = hitmapData['Survived'].to_dict()del hitmap_dict['Survived']print("List the numerical features decendingly by their correlation with Sale Price:\n")for ele in sorted(hitmap_dict.items(), key = lambda x: -abs(x[1])):
Pclass : -0.338481035961
Fare : 0.257306522385
Parch : 0.0816294070835
Age : -0.0772210945722
SibSp : -0.0353224988857
具体分析Pclass特征
- 统计Pclass特征每个值的个数
print train_data['Pclass'].value_counts()
3 491
1 216
2 184
Name: Pclass, dtype: int64
- 统计Pclass属性与Survived属性之间关系
print train_data[['Pclass', 'Survived']].groupby(['Pclass'], as_index=False).mean().sort_values(by='Survived', ascending=False)
Pclass Survived
0 1 0.629630
1 2 0.472826
2 3 0.242363
- Pclass- Age 画盒图
plt.figure(figsize = (12, 6))sns.boxplot(x = 'Pclass', y = 'Age', data = train_data)xt = plt.xticks(rotation=45)plt.show()
从图中我们可以看出级别越高,年纪也高
- Age, Surviverd 画回归图
plt.figure(figsize = (12, 6))sns.regplot(x = 'Age', y = 'Survived', data = train_data)plt.title('Age')plt.show()
从图片我们大概可以看出,Age与Survived成反比例关系,也就是年纪越大存活概率越小。
- (Class,Sex) Vs Age矩阵条形分布图
# (Class,Sex) Vs Age 分布图plt.figure(figsize = (12, 6))grid = sns.FacetGrid(train_data, row='Pclass', col='Sex', size=2.2, aspect=1.6)grid.map(plt.hist, 'Age', bins=10) # 将Age分为10段的binsgrid.add_legend()plt.show()
- Class Vs Age 矩阵分布图(指行或者列)
plt.figure(figsize = (12, 6))grid = sns.FacetGrid(train_data, col='Pclass', size=2.2, aspect=1.6)grid.map(plt.hist, 'Age', bins=10) # 将Age分为10段的binsgrid.add_legend()plt.show()
- Class Vs Age Survived 矩阵散点图
plt.figure(figsize = (12, 6))grid = sns.FacetGrid(train_data, col='Pclass', size=2.2, aspect=1.6) #确定几个图形的分布grid.map(plt.scatter, 'Age','Survived')grid.add_legend()plt.show()
总结
pandas数据结构可以方便实现数据预处理,包括基本元素统计、均值、缺失值以及过滤,加上seaborn和matplotlib实现数据相关性分析以及特征可视化分析。
1 0
- 基于pandas和seaborn进行数据可视化以及相关性分析
- 基于Python的数据可视化 matplotlib seaborn pandas
- 利用python数据分析——基于Seaborn模块可视化
- python——数据可视化:matplotlib,seaborn,pandas
- Python数据可视化-seaborn Seaborn
- 基于R进行相关性分析
- seaborn, 数据可视化工具
- 数据分析和数据可视化(第二讲)-pandas
- 利用Python进行数据分析(7) pandas基础: Series和DataFrame的简单介绍 一、pandas 是什么 pandas 是基于 NumPy 的一个 Python 数据分析包,主
- 利用pandas进行相关性分析并绘制图
- 利用pandas进行数据分组及可视化
- Python数据可视化—seaborn简介和实例
- Python数据可视化—seaborn简介和实例
- 数据可视化——Seaborn
- 基于pandas进行数据预处理
- 绘图和可视化(seaborn)
- Python seaborn matplotlib 对数据进行图表分析
- seaborn可视化库分析库基础01
- 【Spring】使用Spring和AMQP发送接收消息(上)
- GDB动态库搜索路径
- 常用sql语句
- Jqurey 得到url指定的参数 getUrlParam
- 线程池的几种常见的创建的方式
- 基于pandas和seaborn进行数据可视化以及相关性分析
- Java学习整理系列之Java枚举类型的原理
- [ESXi 6.5] 设置ESXi宿主机开机自动启动虚拟机
- mysql:sql drop table (删除表)
- 利用jquery实现瀑布流效果
- opencv函数源码之均值滤波(一)
- [bzoj3498]Cakes
- html5 实现网页截屏 页面生成图片(图文)
- react-native InteractionManager