☰
分清定性数据与定量数据,掌握描述性统计核心用法
2026/10/21 9:38:47 网站建设 项目流程

不管是做用户调研、运营复盘,还是搭数据看板,我拿到数据后的第一习惯从来不是急着拖进模型里跑,而是先问一句:这堆数据到底是“分类标签”还是“数值结果”?听起来很简单,但现实里我见过太多人因为没分清定性数据和定量数据,愣是把性别算了个平均分,或者把销售金额当成类别去做频数统计,最后得出一堆只能扔进垃圾桶的结论。这篇文章就围绕一个最基础也最容易被忽视的主题展开:认识定性数据、定量数据,以及面对这两类数据时描述性统计到底该怎么选、怎么算、怎么解读。内容不挑工具,Excel、Python、SPSS都适用,适合刚入门的数据分析师、产品经理和运营同学。

1. 先搞清楚你的数据长什么样

1.1 定性数据:数字不是用来算的

定性数据,也叫分类数据,本质上是“类别标签”而不是真正的数值。性别、所在城市、用户所属渠道、产品品类、教育程度,这些字段在Excel里经常显示成文本,但也有一些类别会被编码成数字,比如用1代表男性、2代表女性。很多新手就是栽在这里:看到一列数字就默认它能求平均,但1代表男、2代表女的时候,平均数是1.3又能说明什么问题?毫无意义。

定性数据还能进一步分成两类。一类是定类数据,类别之间没有高低顺序,比如性别、城市、支付方式,你没法说“微信支付比支付宝支付更高级”。另一类是定序数据,类别之间有相对的次序关系,比如满意度评分(非常不满意到非常满意)、学历(高中、本科、硕士)、会员等级(普通、银卡、金卡),它们能比大小,但不能说“金卡会员的价值是普通会员的几倍”。

这个区分不是学院派的死板分类,它直接决定你的分析方法。定序数据虽然带顺序,但严格来说它依然不是连续数值,很多人在处理“满意度评分”时直接算平均值,这在业务上可以作为一种简化参考,但严谨的分析里,满意度评分更适合用频数、占比、中位数来描述。理解这一点,是后面所有描述性统计的地基。

1.2 定量数据:能加减乘除才有意义

定量数据是真正的数值型数据,能够做加减乘除,算均值、算方差都有意义。它分成离散型和连续型两种。离散型数据是“一个个数出来的”,比如订单数、用户数、设备数量,它只能取有限个整数值,不可能出现“今天下单3.7单”这种结果。连续型数据是“量出来的”,理论上可以在某个区间内取任意值,比如销售额、用户停留时长、体重、温度,它的小数位是具备实际含义的。

这个划分在选图表和统计量时特别关键。离散型数据经常被误当成连续型处理,比如“一周内购买次数”是离散的,分布在0次、1次、2次这种整数点上,但样本量大了之后,组数足够多时也可以近似看成连续分布来分析。反过来,连续的销售额数据,如果你把它按“高、中、低”分成三个类别,那就等于主动把信息粗粒度化了,丢失了原本的数值精度。

我自己踩过的一个典型误区是处理评分类数据,比如NPS推荐值(0到10分)。它看起来是个数值,但本质上更接近定序尺度,因为用户打8分和打9分之间的距离,并不能等价于打2分和打3分之间的距离。很多公司直接算NPS均值,不是说完全不能看,但更稳妥的做法是先看分布,把“贬损者、被动者、推荐者”三组频数算出来,再结合均值一起判断。

1.3 定类、定序、定距、定比:四个台阶帮你定位

统计学的经典分类方式,是把数据分成四个度量水平:定类、定序、定距、定比。这四条台阶从低到高,每一层都会继承下一层的属性,同时增加新的能力。

定类只能判断“是否相等”,比如两个用户是否来自同一个城市。定序在相等基础上增加排序能力,你可以说A的满意度比B高,但无法量化高多少。定距在排序基础上增加“加减法的距离”含义,比如摄氏温度,可以说20度比10度高10度,但说“20度是10度的两倍”就不成立,因为0度不代表没有温度。定比是最高水平,在定距基础上还有绝对零点,销售额、订单量、年龄都符合,这样的数据不仅能加减,还能乘除,说“销售额翻了一番”是有实际意义的。

为什么要花这么多篇幅讲这套基础框架?因为我在实际辅导新人时发现,绝大多数分析方案跑偏,根源都不是工具不熟,而是数据类型没判断对。你拿着一个定序变量去算均值,拿着一个定性变量去做回归,工具越熟练,错得越离谱。所以每次动手分析之前,花五分钟把每个字段的度量水平标出来,属于性价比极高的动作。

2. 定性数据的常规分析:频数、比例和交叉

2.1 频数与占比:一眼看清整体结构

定性数据的描述性统计,核心就是“数个数”和“算比例”。假设我拿到500份用户问卷,统计大家常用的购物平台,结果可能是:平台A 220人,平台B 160人,平台C 85人,其他35人。这一组频数加在一起必须是总样本量500,这是最基础的校验逻辑。在此基础上,计算百分比得到44%、32%、17%、7%,再算累计百分比,就能很直观地看出头部平台的集中度。

Excel里处理这个场景,可以用数据透视表,把“平台”字段拖到行区域,把“用户ID”拖到值区域,计数方式设置为“非重复计数”或普通计数。如果临时想用公式,COUNTIF是一个顺手的选择。但要提醒一句:如果你用的是订单明细数据而不是用户数据,直接对订单ID计数得到的是订单量,而不是用户数,两者含义完全不同,做之前一定要明确分析单位。

频数表的延伸,是“占比差异到底是不是真的差异”。比如平台A占44%,平台B占32%,相差12个百分点,听起来很大,但如果你只抽样了50个人,这个差异的置信区间会非常宽。严谨一点的常规做法,是在描述完占比后再加一个卡方拟合检验或二项比例检验来验证差异是否显著。这条线很多人会跳过,但如果你想从“描述”走向“推断”,它是必须补上的。

2.2 交叉分析:两个类别之间的关系

单个变量看分布,两个变量之间的关系就要用交叉表。交叉分析在业务里极其常用,比如“性别×品类偏好”“渠道×是否复购”。一张交叉表,行是一个变量,列是另一个变量,单元格里填的是频数。

读交叉表时,最容易被忽视的是“百分比的方向”。我拿“性别×是否购买过会员”举例,如果行是性别,列是是否购买,那么算“行百分比”时,是看男性中有多少人购买、女性中有多少人购买,这时候样本量不一样,直接对比列和列的绝对数字没有说服力,应该看比例。反之,如果你想看“购买会员的人中,男女各占多少”,那就要看“列百分比”。这两者的业务含义完全不同,做分析前想清楚你的目标人群是谁。

交叉表的显著性检验,常规方法是卡方检验。它的逻辑是:如果两个变量真的无关,那么交叉表里各单元格的频数应该接近“按边缘比例推算出来的期望频数”,实际频数和期望频数差得越多,越说明有关联。Excel里没有专门的卡方检验按钮,可以用CHISQ.TEST函数传入实际数据区域和期望数据区域实现;Python的话,直接调scipy.stats.chi2_contingency就行。注意卡方检验对单元格期望频数有要求,如果有超过20%的单元格期望频数小于5,结果可能不可靠,这时候可以考虑合并类别,或者改用费舍尔精确检验。

2.3 定性数据可视化:条形图为主,饼图慎用

定性数据最常用的图表是条形图。类别少、名称清晰,条形图的高度能让人快速比较大小。做条形图时有几个实战细节:类别顺序建议按频数从高到低排序,形成帕累托风格,重点一下子就被突出;横轴标签如果太长,就改成水平条形图,否则标签斜着放会很丑;柱子的起点必须从0开始,不然很小的占比差异会被视觉放大,容易误导人。

饼图不是不能用,它适合展示“部分与整体”的关系,比如市场份额,但类别一多就是灾难。我见过一张饼图切了十几个扇形,颜色还都是相近色系,最后一团糊,谁也看不清。我的习惯是:饼图的类别最多不超过5个,如果超过,把较小的类别合并成“其他”,并且把关键的一个类别单独拉出来标注占比。

提到可视化,必须牢记“定性数据和定量数据的图表使用是不同的”。定性数据用条形图、饼图、帕累托图,重点展示类别之间的比较和组成;定量数据用直方图、箱线图、散点图,重点展示分布、离散和关系。如果拿直方图去画性别分布,X轴的“男、女”没有连续数值含义,直方图的分箱逻辑就失效了。反过来,拿条形图去画销售额分布也很别扭,因为销售额天然是连续数值,你要么先分组再画条形图,要么直接用直方图。这个误用在执行层面非常常见,几乎每次帮人看报表都能碰到。

3. 定量数据的描述性统计:集中趋势和离散程度

3.1 集中趋势:均值、中位数、众数怎么选

定量数据的描述性统计,第一件事是回答“这堆数据的中心在哪里”。常用的三个统计量是均值、中位数、众数。均值是所有数值相加再除以个数,它对每一个数据都敏感;中位数是排序后正中间的那个值,它对极端值不敏感;众数是最常出现的那个值,适合快速把握典型情况,但在数据分布均匀时可能失效。

选哪个,主要看数据分布。如果数据接近对称分布,均值、中位数、众数基本重合,用均值就行,因为均值在后续统计学推断里有很多优良性质。如果数据明显偏态,比如收入分布、价格分布,通常少数高值会把均值拉高,这时候均值会大于中位数,形成“右偏”分布。举个例子,一个小公司10名员工,9个人月薪8000,1个老板月薪80000,均值为15200,中位数还是8000。如果你想描述“多数员工大概挣多少钱”,中位数明显更靠谱;如果你想反映公司整体人力成本,均值才是你要看的。

实操中我的建议是不要只输出一个数值。规范一点的描述统计报告,会同时给出均值和中位数,并对它们的差距做一句说明。如果二者差距大,说明数据被极端值或者偏态分布影响了,这个信息本身就是发现问题的入口。

3.2 离散程度:极差、四分位距、方差、标准差

只看中心不看离散,是很多新手报表的通病。两组数据的平均值可能一模一样,但一组非常集中,一组非常分散,背后的业务含义完全不同,比如两个销售团队的平均业绩相同,一个队业绩稳定,一个队忽高忽低,管理策略就得区别对待。

最粗暴的离散度指标是极差,等于最大值减最小值。它的优点是计算简单,缺点是对异常值极度敏感,只要混进一个极端数据,极差就完全失真,所以常规报告中极差只作参考,不作为主要结论。更稳健的指标是四分位距IQR,它是第三四分位数Q3减去第一四分位数Q1,代表中间50%数据的跨度,箱线图的箱体高度就是IQR,异常值通常定义为低于Q1-1.5IQR或高于Q3+1.5IQR的点。

标准差和方差是更常用的离散度指标。方差是每个数据与均值之差的平方的平均数,标准差是方差的平方根,这样可以回到原始数据的量纲,方便直接解读。Excel里要特别注意,STDEV.P是总体标准差,STDEV.S是样本标准差,现实业务中我们多数时候拿到的是样本,所以更多用STDEV.S。当你用Python的numpy计算时,np.std默认是总体标准差,需要设置ddof=1才能得到样本标准差,这是个非常容易踩的细节。

标准差给业务解读带来了一个直观的参考:对于近似正态分布的数据,均值±1个标准差大约覆盖68%的数据,均值±2个标准差大约覆盖95%的数据。比如某种商品的日销量均值500件、标准差80件,那么可以大概判断,多数日期的销量会落在420到580件之间,日均备货量在580件以上时,缺货概率就很低了。

3.3 分布形态:偏度和峰度不是摆设

如果均值和中位数已经暴露了分布可能偏态,那偏度就是把这个“偏”量化出来的指标。偏度大于0,说明右偏,尾部在右边,少数大值把均值拉高;偏度小于0,说明左偏,尾部在左边,少数小值把均值压低。绝对值越接近0,分布越对称。峰度描述的是分布的“尖峭程度”,高峰度意味着数据集中在中心且尾部较厚,低峰度意味着分布相对平缓。两者在金融风控等领域经常用来判断风险,但在日常业务描述里,我主要把它们当作数据健康度的参考,而不是硬性指标。

为什么要关注分布形态?因为描述性统计不是终点,如果后续要做T检验、方差分析、线性回归,很多方法都隐含正态分布假设。先用描述性统计看一眼分布,就能提前判断数据是否符合假设,是否需要做对数变换或采用非参数方法。这一步前置,能给后面省掉大量返工时间。我习惯在出描述性统计表时,把偏度和峰度一并列出来,哪怕业务方看不懂,也能给下一步分析留下依据。

3.4 一份合格的描述性统计表长什么样

把前面这些统计量整合到一张表里,是常规描述性统计报告的落地形式。针对不同变量类型,表格设计不一样。定性变量通常报告频数和百分比,比如“性别:男92人(46%)、女108人(54%)”;定量变量则报告均值、标准差、中位数、四分位距、最小值、最大值,如果数据偏态明显,可以加报告偏度。

我平时用的一个模板大致如下:

变量类型变量名统计量
定性性别男92(46%),女108(54%)
定性年龄段18-25岁45(22.5%),26-35岁88(44%),36-45岁42(21%),46岁及以上25(12.5%)
定量月消费金额(元)均值462.5,标准差218.3,中位数389.0,IQR 245.0,最小值89,最大值1520

这张表里的每个数字都要有一个“能看的人”:均值供管理层了解整体水平,标准差用于判断稳定性,中位数和IQR用来应对偏态与异常值。描述性统计表的规范程度,往往能直接反映分析者的基本功。我在招聘或带新人时,第一眼先看这张表,从变量类型选统计量这件事上,就能很快分辨出谁是“真做过分析”的。

4. 实操过程:拿一份示例数据走通全流程

4.1 先定义业务问题

现在我们把上面的理论落到一个具体场景。假设你是一家消费品公司的数据分析师,手里有200条新注册用户的数据,字段包括:性别、年龄段、满意度评分(1到5分)、月消费金额(元)。业务方想让你回答三件事:这批用户整体是什么画像?满意度情况怎么样?月消费金额是否存在大头用户集中的现象?

在动手算任何统计量之前,先逐一判断字段类型:性别是定类数据,年龄段是定序数据,满意度评分是定序数据但同时也被很多人当定量简化分析,月消费金额是定比数据。判断完类型,再决定每个字段用什么统计量和图表,这一步做完,后面的计算其实就是机械执行。

4.2 Excel与Python的实现方式

Excel是最容易上手的工具。性别和年龄段的频数统计,用数据透视表几秒钟就能做出来:把“性别”拖到行区域,把“用户ID”拖到值区域并改为“计数项”,再把“值字段设置”里的“值显示方式”改为“总计的百分比”,就能同时得到频数和占比。

月消费金额的描述性统计,在Excel里可以这样写公式:

=AVERAGE(C2:C201) ' 均值 =MEDIAN(C2:C201) ' 中位数 =STDEV.S(C2:C201) ' 样本标准差 =QUARTILE.INC(C2:C201,1) ' 第一四分位数 =QUARTILE.INC(C2:C201,3) ' 第三四分位数 =MIN(C2:C201) ' 最小值 =MAX(C2:C201) ' 最大值

如果你习惯用Python,pandas一行就能出一个基础描述统计表:

import pandas as pd df = pd.read_csv('user_data.csv') print(df.describe(include='all')) print(df['月消费金额'].var(ddof=1)) print(df['月消费金额'].skew())

注意两个细节:一是describe默认只输出数值列,对于分类列要用include='all'才显示频数和唯一值信息;二是标准差相关的计算,在Excel里用STDEV.S,在Python里要记得用ddof=1,否则算出来的是总体标准差,两个数会略有差异。

4.3 结果解读:统计量不是算完就完

假设最终输出结果如下:性别方面,男92人、女108人,男性占46%,女性占54%,结构上女略多。年龄段上,26-35岁占44%,是绝对主力人群,这意味着后续运营动作应该优先针对这个群体。满意度评分上,打4分和5分的人合计62%,整体满意度偏向正面。

月消费金额这里就有意思了。均值是462.5元,中位数是389元,标准差是218.3元,最小值89元,最大值1520元。均值比中位数高出73.5元,说明金额分布右偏,少数高消费用户把均值拉高了。进一步看,前10%用户的消费金额大约占了整体收入的28%左右,这就是业务里常说的“头部集中”。如果只看均值,你可能会觉得“人人消费都接近460元”,但中位数告诉你,一半用户其实消费不足389元,两拨人差异很大。

这才是描述性统计真正有用的时刻:它不只是给你几个孤立数字,而是通过数字组合,勾勒出一个值得深入追问的业务图景。业务方问“月消费金额高不高”,你的回答不能只说“均值462元”,而要说“整体有右偏集中现象,头部用户贡献明显,建议下一步做用户分层,再把高价值人群单独拉出来分析”。

4.4 分组对比:避免被“平均”骗了

跨组比较时,平均数会产生一种经典误导:辛普森悖论。简单说,就是总体看起来的规律,放到各组里可能完全相反。假设A班男生及格率80%、女生及格率60%,B班男生及格率90%、女生及格率70%,单独看每一项,A班都不如B班,但如果A班男生人数多、B班女生人数多,由于男生的整体及格率高于女生,最后算总账时A班的总体及格率反而可能超过B班。

这提醒我们,做描述性统计不要只算一个总体均值。总分司的月消费金额均值需要拆到性别、年龄段、渠道这些维度下去看,交叉分组之后的统计量才有业务指导价值。分组后如果发现某一组的样本量太小,比如某个渠道只有15个人,那这组数据只做描述不建议用来下结论,至少要在报告里标注样本量有限。

5. 常见问题与排查技巧实录

5.1 为什么均值和中位数差距那么大

这是我在帮业务部门做报表时被问得最多的问题。看到均值和中位数差距大,不要慌,这是个信号而不是错误。多数情况下,数据是右偏分布,也就是存在少数特别大的值,比如头部客户的订单金额几千上万,普通客户只有几百。处理方式不是“藏”掉异常值,而是根据分析目的选择口径:描述典型个体时用中位数和四分位数,评估总体规模时用均值,两个都不要丢。如果右偏过于严重,比如偏度大于2,可以考虑对数值取对数后再做均值比较,这也是常见变换。

5.2 遇到异常值怎么办

异常值先别急着删。第一步要判断它是不是录入错误,比如月消费金额是-300,或者年龄写成了200,这类可以直接修正或剔除。第二步是判断它是不是一个真实但极端的值,比如大客户的订单,这时候它本身就携带重要业务信息,直接删除等于把头部价值扔掉了。我的推荐做法是:做一次“含异常值”和“剔除异常值”的敏感性对比,看看结论有没有本质变化,如果剔除后结论完全翻转,那说明你的结论建立在少数数据上,需要在报告里充分暴露这个风险。箱线图是识别异常值最快的方法,看那些超出箱须的点,再结合业务背景逐条判断。

5.3 缺失数据能不能忽略

描述性统计阶段,很多统计软件默认会删除缺失值然后计算,这是可行的,但必须在结果里报告有效样本量。比如你有200条记录,满意度只有185个有效值,如果你报告成“满意度均值4.2分”而不说明只有185人作答,就会被误读成全体的水平。缺失比例不高时,直接剔除相对安全;缺失超过10%就要想想原因了,是题目本身不适用,还是数据采集环节出了问题,这甚至可能是一个独立的分析主题。

5.4 图表选择速查表

数据类型推荐统计量推荐图表
定类频数、百分比、众数条形图、帕累托图
定序频数、百分比、中位数、四分位数条形图、箱线图
离散定量均值、中位数、标准差、频数分布直方图、茎叶图
连续定量均值、标准差、中位数、IQR、偏度直方图、箱线图、散点图

这张表是我自己整理后放在工位旁边的,每次不确定就扫一眼。其实大部分描述性统计分析,只要把“变量类型”和“分析目的”对齐,就不会出大错。

说到最后,我还是想强调一点:描述性统计不是随便跑几个数就交差的机械劳动,它是你理解数据的第一现场。我刚开始做分析时也嫌这些基础内容“太简单”,总想着直接上复杂度高的模型,结果经常因为变量类型判断错误、分布没看清楚,导致整个模型白跑。后来学的教训就是:给再花哨的算法之前,先把定性数据和定量数据分清楚,把描述性统计表做扎实,把均值、中位数、标准差这些指标的适用场景吃透,后面的一切分析才有底气。下次拿到数据,你也可以先花半小时做这一道“体检”,一定会帮你少走很多弯路。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询