数据分析和统计——直方图

直方图就是将数据值所在范围分成若干个区间,在图上画出每个区间上数据的个数。数据分布直方图画法参详Tiger:人人都能用数据-统计学和直方图。
在绘制直方图时,组数确定很重要。如果组数太少,会丢失部分数据信息,抹杀数据间的差异性,如果组数太多,会影响数据分组规律的明显性,不易观察规律。

使用pandas、matplotlib 绘制直方图

绘制体重分布直方图

数据集格式:
   weight
0      48
1      44
2      48
3      52
4      58

数据集汇总信息:
count    80.000000
mean     50.700000
std       6.267053
min      38.000000
25%      47.000000
50%      50.000000
75%      54.000000
max      69.000000
Name: weight, dtype: float64

绘制直方图

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
weight_file_path = "C:/Users/ajv/Desktop/DA/weight.txt"
df_weight = pd.read_csv(weight_file_path)
print df_weight.head()
print df_weight['weight'].describe()
weight_mean = df_weight['weight'].mean()
weight_variance = df_weight['weight'].var()
fig = plt.figure()  # 创建画布
ax = fig.add_subplot(111)   # 创建子图。 画布分割成1行1列,从左到右从上到下第1幅
ax.hist(df_weight['weight'], bins=10, color='blue', alpha=0.8)  # bins控制柱子宽窄疏密,appha
plt.text(60, 10, u'均值: %s\n方差: %s' % (weight_mean, weight_variance), fontproperties='SimHei')
plt.xlabel(u"体重/kg", fontproperties='SimHei')
plt.ylabel(u"频数", fontproperties='SimHei')
plt.title(u'体重的直方图', fontproperties='SimHei')   # 设置标题,正常显示中文
plt.savefig('C:/Users/ajv/Desktop/DA/weight.png')
数据分析和统计——直方图_第1张图片
weight.png

数据集特征
体重数据集共有80个记录,分布在44-50kg的人数 最多,平均体重为50.7k,标准差为6.27,波动较小。


绘制航空公司客户分布直方图

数据集格式:
    Month  NumPassengers
0  Jan-49            112
1  Feb-49            118
2  Mar-49            132
3  Apr-49            129
4  May-49            121

数据集汇总信息:
count    144.000000
mean     280.298611
std      119.966317
min      104.000000
25%      180.000000
50%      265.500000
75%      360.500000
max      622.000000

绘制直方图

AirPassengers_file_path = "C:/Users/ajv/Desktop/DA/AirPassengers.csv"
df_air_passengers = pd.read_csv(AirPassengers_file_path)
print df_air_passengers.head()
print df_air_passengers['NumPassengers'].describe()
air_passengers_mean = df_air_passengers['NumPassengers'].mean()
air_passengers_variance = df_air_passengers['NumPassengers'].var()
fig = plt.figure()  # 创建画布
ax = fig.add_subplot(111)   # 创建子图。 画布分割成1行1列,从左到右从上到下第1幅
ax.hist(df_air_passengers['NumPassengers'], bins=24, color='green', alpha=0.6)  # bins控制分组,appha设置参数点的透明度
plt.text(500, 10, u'均值: %s\n方差: %s' % (air_passengers_mean, air_passengers_variance), fontproperties='SimHei')
plt.xlabel(u"乘客数", fontproperties='SimHei')
plt.ylabel(u"频数", fontproperties='SimHei')
plt.title(u'某航空公司客户的直方图', fontproperties='SimHei')   # 设置标题,正常显示中文
plt.savefig('C:/Users/ajv/Desktop/DA/air_passengers.png')
plt.show()
数据分析和统计——直方图_第2张图片
air_passengers.png

数据集特征
航空公司乘客数据集共有144个记录,每月平均乘客数为144,标准差为119.97,每月乘客数波动性较大。

你可能感兴趣的:(数据分析和统计——直方图)