lesson1-绘制直方图-体重
数据集1 weight(4.4)
代码:
#Homework1 绘制直方图-数据 import numpy from pandas import read_table import matplotlib import matplotlib.pyplot as pet
#设置字体 font={'family':'SimHei'} matplotlib.rc('font',**font)
#读取文件 weight_data = read_table('weight.txt',encoding='UTF-8')
#绘制直方图 plt.hist(weight_data['weight'],5)
#设置横纵轴标签 plt.xlabel('体重(公斤)') plt.ylabel('频数') plt.title('体重直方图') plt.show()
#调整bins组数为8 plt.hist(weight_data['weight'],10,rwidth=0.7) #rwidth设置柱与柱之间的间距
#调整bins组数为10 plt.hist(weight_data['weight'],8,rwidth=0.7)
直方图:
![ ![体重直方图.png](https://img.haomeiwen.com/i5295621/05130372b093fbd9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)](https://img.haomeiwen.com/i5295621/208fc4c3dd587fb1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
#基本统计 weight_data.describe()
Out[3]: weight count 80.000000 mean 50.700000 std 6.267053 min 38.000000 25% 47.000000 50% 50.000000 75% 54.000000 max 69.000000
#小数点保留2位 weight_data.describe().round(2)
Out[4]: weight count 80.00 mean 50.70 std 6.27 min 38.00 25% 47.00 50% 50.00 75% 54.00 max 69.00
观察结果:
-
统计量
size: 共计80个数据;
平均体重:50.7kg; 最轻体重为38kg, 最重体重为69kg;
标准差:6.27(体重数据的波动程度。
+-平均值1个std【44.43-56.97kg】正常数据;
+-2std【<38.16或>63.24】特殊数据)
第一四分位数 (Q1,又称“较小四分位数”,该样本中所有数值由小到大排列后第25%的数字):47kg
第二四分位数 (Q2,又称“中位数”,该样本中所有数值由小到大排列后第50%的数字):50kg
第三四分位数 (Q3,又称“较大四分位数”,该样本中所有数值由小到大排列后第75%的数字):69kg -
直方图
以5组为例:
分组区间[ 38. , 44.2, 50.4, 56.6, 62.8, 69. ]
对应频数[ 9., 38., 19., 10., 4.]
体重在44.2-50.4kg之间的人数最多;
直方图向左侧倾斜,which means(比平均值重的人多于轻的人??)
3.自动分组的bins不整齐,似乎不符合常见的统计分组方法,尝试人为分组(人为定义bins)
#人为设置bins bins = [min(weight_data.weight)-1,40,45,50,55,60,65,max(weight_data['weight'])+1] plt.hist(weight_data['weight'],bins)
bin中50换成50.7试一下(50-55de柱形高度降了一半,也就是说50-50.7的人占了50-55的人的一半左右吧,其实9个23-14)