《原来报表与统计图要这么做.docx》由会员分享,可在线阅读,更多相关《原来报表与统计图要这么做.docx(6页珍藏版)》请在第一文库网上搜索。
1、原来报表与统计要这么做!如图1所示。导读:报表与统计图作为数据信息输出的一种方式,被广泛运用于数据展示、交流等工作中。本文使用一份二手房数据演示如何制作报表与统计图。报表可用于展现数据的主要信息,分为包含维度(分类变量)指标和度量(连续变量)指标的报表。仅含有维度指标的报表称为频次表(单个分类变量)和交叉表(两个及以上分类变量),含有维度和度量两类指标的报表称为汇总表,其中度量指标总是以某个统计量的形式出现,最常出现的是均值、总和、频次。条形图是一种运用非常广泛的数据展示图,便于分类变量之间的数据对比。条形图和报表有一一对应关系。如果有一个分类变量,条形图就是一维的;如果有两个分类变量,条形图
2、就是二维的。条的长度对应频次或度量指标的某个统计量,单因子频数汇总统计量分类变千表分析分类变敏2分类变.简单垂直条形图 简单垂有条形图分类变过1某连续变显的统计质日出性频次三嚼臂直moIt条形图图1报表与统计图形接下来使用一份二手房数据(sndHsPr.csv )演示如何制作报表。对于二手房,我们不但关心其本身的统计特征(统计量),还关心影响这个变量的因素,如表1所示。表1二手房数据distroomnumhallsAREAfloorsubwayschoolpricedistrict城区(拼音)卧室数厅数房屋面积楼层是否地铁房是否学区房单位面积房价城区(中文)制作报表就是根据数据类型选取合适的统
3、计量并进行展现的过程。图2表现的是一个比较全面的二维表模板,三维表只不过是简单的叠加而已。水平轴和垂直轴分别是两个分类变量。单元格中存放的是某个变量的统计量。如果单元格中没有放入任何变量,其展现的是频次或百分比等指标。如果单元格中放入某个连续变量,其展现的就是这个连续变量的某个统计量,比如均值、总和等。将二维表模板的内容进行缩减,可以得到单因子频数、表分析、汇总统计量,具体说明如下。1)单因子频数:仅分析单个分类变量的分布情况,提供每个分类水平的频次、百分比和累积值,如图3所示。snd为读入数据后的数据框名称,district为该住房所在城区的中文名称,value_counts函数用于获取每个
4、城区出现的频次,完整的语句为snd.district.value_counts() o用条形图展现频次统计的语句为snd.district.value_counts().plot(kind = bar),其中kind =为图表类型,bar表示柱形图,如图4所示。value.counts2500丰台区29472000海淀区29191500朝阳区2864东城区27831000西城区2750500石累山区19470图43000单因子统计图形示意所示。2)表分析:分析两个分类变量的联合分布情况,提供每个单元格中样本出现的频次、百分比和边沿分布情况,如图5所示。分类变量2II分类变量1图5表分析示意表分
5、析(也称交叉表)使用的函数为pd.crosstab ,比如分析是否有地铁与是否是学区房之间的关系,语句为pd.crosstab(snd.subway/snd.school)o我们可以使用标准化堆叠柱形图对表分析的结果进行展现。其步骤是先获取交叉表的结果,然后使用div(sub_sch.sum(l)zaxis = 0)函数计算交叉表的行百分比,最后绘制柱形图,如图6所示。pd. crosstab (snd. subway, snd. school)school 01subway0 2378 4131 8919 4500sub.schpd.crosstabfsnd.subway3nd.school
6、)sub_sch=sub_sch.divisub_sch.sufn(l)axis= 0)sub_sch.plot(kind= bar tsucked=True)图6表分析统计图形堆叠柱形图易于展现横轴变量的分布情况,标准化堆叠柱形图易于做比较,笔者推荐采用图7来展现全部交叉表信息。本书提供了 stack2dim函数制作堆叠柱形图,其主要参数raw为Pandas的数据框,i、j为两个分类变量的变量名称,要求带引号,比如“school”。.6一 ooipsschool VS subway0.0subway: 0subway: 15-18图7堆叠柱形图示意3 )汇总统计量:按照某个分类变量分组,对连
7、续变量进行描述性统计,如图图9展现了每个城区单位面积房价的统计信息,我们可以使用Pandas提供的函数 snd.price.groupby(snd.district).agg(mean,max, min)获取。该语句的含义为按照district变量分组,计算price的均值、最大值、最小值,其中agg函数的功能是归并若干个函数的结果。mean max mmdistrict区 71883.595041 149254 20089 刖100000丰台区 42500.90430987838 183488N 80000朝阳区 52800.624651 124800 2301140000海淀区68757.60226113510525568cooo石基山区40286.8895741000001885420000西城区85674.778545149871219185&区 淮之区 M区东疆区石景山区district图9汇总统计量统计图形示意本文摘编于金融商业数据分析:基于Python和SAS,经出版方授权发布。(书号:978-7-7-111-69583-7 )