数据分析实战——统计、绘图分析数据

根据获取的数据,进行描述统计分析,并绘制直方图

获取数据及其描述统计分析

#获取数据
get_housing_data()
housing_data=load_housing_data(housing_path)
# 查看数据类型,后面主要使用的是pandas包
print(type(housing_data))

这里写图片描述

# 查看前五条数据
print(housing_data.head())

这里写图片描述

# 查看数据的总体信息,可以知道列名,每一列的数据量,是否有缺失数据,每一列的数据类型,数据所使用的内存空间等
print(housing_data.info())

这里写图片描述

#可以查看数据总量(忽略空值)、均值、标准差、最小值、最大值、25%、50%、75% 展示了对应的分位数:每个分位数指明小于这个值,且指定分组的百分比
print(housing_data.describe())

这里写图片描述

绘图分析

这里主要使用直方图直观展示各个列中的数据分布情况,通过matplotlib和pandas相关包

fig=plt.figure()
col_number=len(housing_data.ix[0])
print(housing_data.ix[:,4])
for i in range(col_number):
    print(i)
    # 每次循环创建一个subplot,并指定绘制在哪个subplot上
    ax=fig.add_subplot(4,3,i+1)
    # 将每列的列名设置为图标标题
    ax.set_title(housing_data.columns[i])
    #将每列的缺失数据去除,否则会引发错误
    ax.hist(housing_data.ix[:, i].dropna(),bins=50)
# 调整图标的宽度和高度的百分比
plt.subplots_adjust(wspace=0,hspace=0.5)
# 最后图标展现
plt.show()

这里写图片描述

总结

虽说只是简单的学习过程,主要是图标的绘制耽误了一点时间,dataframe也可以直接调用hist绘图,但这里想展现的是每一列的属性,所以琢磨了一段时间,《Sklearn 与 TensorFlow 机器学习实用指南》在Jupyter里直接一句话调用hist,我再pychram暂时只能用这种笨方法了,期间遇到一一个错误
这里写图片描述
一般来讲,没有设置hist()方法中range参数的话,是默认数据最小设为下限最大设为上限,所以没有出错的可能,试了几次,只有出现空值的第五列会出现这种情况,所以就通过dropna()方法删除空值以后再传入数据绘图,问题就解决了
暂时这样~~

猜你喜欢

转载自blog.csdn.net/brave_jcc/article/details/80971498