【每天几分钟,从零入门python编程的世界!】
假设你想投资某一个城市的房地产,你肯定需要对这个城市的人口分布、增长潜力做一个调查,这时我们就需要做一个直方图(histogram plot)。
实例:
假设我们有一份C城市的人口年龄的数据,我们为方便起见,在这里只列出很少的一部分数据,用一个列表City_C_Age表示这个城市的人口年龄数据:
City_C_Age=[2,3,1,7,4,5,3,1,7,6,9,8,13,16,12,17,15,14,18,,20,23,28,25,23,27,25,29,26,24,25,30,34,37,36,38,32,35,37,36,41,42,47,47,48,43,46,44,53,54,58,52,51,55,56,69,60,63,67,64,72,74,78,75,89,85,83,90,93]
我们在画直方图的时候,要引入一个重要的概念--bin。
bin的说明:
bin在英式英语中意思是“垃圾桶”,当我们的数据非常多的时候,每一个数据都对应一个id,比如这个例子中,每一个年龄数据都对应一个人,如果每一个数据id都画一个柱状图,那显然画出来非常多,不利于展示和分析。所以我们引入一个bin,就像垃圾分类一样,我们给这些数据分类,相当于我们设定不同的年龄段,0-9岁装到一个桶里,10-19岁装到一个桶里,...,90-99岁装到一个桶里,即以10岁的间隔设置年龄段,以每一个年龄段为坐标画一个柱状图,这些柱状图组合到一起,形成了直方图。
因此,我们大概可以这样理解:直方图就是把数据划分区域后,以数据区域为节点绘制的柱状图的集合。
我们设置bins如下:
bins=[0,10,20,30,40,50,60,70,80,90,100]
根据Python的习惯,算头不算尾,即0-9为一个bin,10-19为一个bin,依次类推。
绘制直方图的代码:
plt.hist(City_C_Age,bins,histtype="bar",rwidth=0.8)
代码说明:hist的第一个参数是需要输入的数据,在这里是城市C的人口年龄数据;第二个参数是数据分类bins,第三个参数是每一个bin的数据形成的图形类型,“bar”就是柱状图;第四个参数rwidth是柱状图的宽度,大多数情况都是写0.8,0.8的宽度是一个比较好看的宽度,你也可以写其他的数字。
整体代码如下图:
tips:这个直方图的x轴为“Age”,y轴为“Num”,Num表示每一个bin里面的年龄有多少个人。
运行结果如下图:
假如我们使用的人口年龄数据是正确的,那么我们就可以根据这个直方图进行分析:
我们根据图看到20-50岁之间的青壮年人口数量最多,且0-20岁之间的人口数量多于60岁以上的人口数量,符合正态分布,表明这个城市未来人口应该是正增长,这个城市的青壮年适龄劳动人口数量占多数,未来这个城市比较有发展潜力,投资房产是一个比较正确的决策。
当然,这个分析是建立在数据正确的基础上,同时分析要素和过程不会如此简单,我们只是用一个简单化的表述,来说明数据可视化、数据分析的一个大概过程。
我是时问新,欢迎关注我。跟我一起从零开始学习Python,每天花一点时间,开启python编程新世界的大门,领略新的风光,让人生多一种可能!