本文来源:https://www.dataquest.io/mission/132/data-visualization-and-exploration
本文数据来源https://github.com/fivethirtyeight/data/blob/master/college-majors/recent-grads.csv
本文主要介绍了一下如何简单的探查数据之间的关系
原始数据展现(这是一份大学毕业生的薪资调查报告,重要的字段有这些,Major - 专业名称, Major_category - 专业类别, Sample_size - 样本大小, ShareWomen - 女性比重, Total- 该专业的总人数)
import pandas as pd recent_grads = pd.read_csv('recent-grads.csv')
直方图
要制作直方图,首先把X轴的值的范围等分成多个间隔,然后数出每个间隔中包含的值的数量,然后把该数量作为Y轴的值。使用方法pandas.DataFrame.hist()函数
#制作工资收入中位数(Median列)的直方图 recent_grads.hist(‘Median’)
# hist()函数默认是自动分成10等分的,且生成的图中是有网格线的,现在要分成20等分,同时消除网格线 recent_grads.hist('Median', bins=20, grid=False)
# 其实可以一次性制作多个直方图,layout参数的意思是将两个图分成两行一列,如果没有这个参数,默认会将全部的图放在同一行 columns = ['Median','Sample_size'] recent_grads.hist(column=columns, layout=(2,1), grid=False)
箱型图
箱型图是基于五数概括法(最小值,第一个四分位数,第一个四分位数(中位数),第三个四分位数,最大值)的数据的一个图形汇总,还需要用到四分位数间距IQR = 第三个四分位数 - 第一个四分位数。详情请google
制作箱型图使用的是pandas.DataFrame.boxplot()方法
import matplotlib.pyplot as plt # 选择两列数据 sample_size = recent_grads[['Sample_size', 'Major_category']] # 按照每一个专业类型分类统计 sample_size.boxplot(by='Major_category') # 将X轴的坐标文字旋转90度,垂直显示 plt.xticks(rotation=90)
多图合并
要想找出多个变量之间的关联,就要把多个变量的变化都做在同一个图上进行比较
# 将两个散点图放在一起(按颜色区分),观察是否有关联 import matplotlib.pyplot as plt plt.scatter(recent_grads['Unemployment_rate'], recent_grads['Median'], color='red') plt.scatter(recent_grads['ShareWomen'], recent_grads['Median'], color='blue') plt.show()