数据的类型——认识你的数据

article/2025/9/9 5:03:06

第02篇:数据的类型——认识你的数据

写在前面:嗨,大家好!我是蓝皮怪。在上一篇文章中,我们聊了统计学的基本概念,今天我们来深入了解一个非常重要的话题——数据的类型。你可能会想:"数据就是数据,还有什么类型之分吗?"哈哈,这个想法我在初学的时候也有过!但是当我深入学习后发现,不同类型的数据就像不同种类的食材,需要用不同的"烹饪方法"来处理和分析。用错了方法,就像用炒菜的方式来做汤一样,结果肯定不理想。

🎯 这篇文章你能学到什么

  • 数据类型的完整分类体系(定性vs定量,名义vs有序,离散vs连续)
  • 如何快速识别不同类型的数据
  • 不同数据类型适用的分析方法
  • 避免数据类型识别的常见误区

1. 为什么要区分数据类型?

假设你是一名数据分析师,需要分析一份客户满意度调查结果。调查中,满意度用1-5分表示(1=非常不满意,5=非常满意)。

看到数据后,你的第一反应可能是:直接计算所有客户满意度的平均值,得出3.2分,然后得出结论:“客户满意度一般般。”

但是,这样做对吗?

让我们仔细想想:满意度从1到2的差距,和从4到5的差距,真的是一样的吗?2分的"一般不满意"和3分的"中性"之间的心理距离,真的等同于3分和4分之间的距离吗?

这就是数据类型的重要性!不同类型的数据,需要用不同的分析方法。如果我们错误地把有序型数据(满意度等级)当作连续型数据来处理,就可能得出误导性的结论。

2. 数据类型特征与分析方法对比

数据类型可进行数学运算可排序常用统计量常用图表典型分析方法
名义型频数、众数、比例条形图、饼图频数分布表、卡方检验、列联表分析
有序型频数、中位数、四分位数条形图频数分布表、秩和检验、Spearman相关、列联表分析
离散型均值、方差、标准差条形图描述性统计、t检验、方差分析
连续型均值、方差、标准差直方图、箱线图t检验、方差分析、相关分析、回归分析

数据类型识别流程与判断技巧

判断数据类型时,可以按照以下思路:

  1. 这个数据是"类别/属性"还是"数量"?
    • 如果是类别/属性:属于定性数据(名义型或有序型)
    • 如果是数量:属于定量数据(离散型或连续型)
  2. 如果是定性数据,类别之间有没有顺序?
    • 有顺序:有序型
    • 没有顺序:名义型
  3. 如果是定量数据,理论上能不能无限细分?
    • 能细分:连续型
    • 不能细分(只能整数):离散型

典型示例:

  • “性别” → 类别 → 无顺序 → 名义型
  • “学历” → 类别 → 有顺序 → 有序型
  • “子女数量” → 数量 → 不能细分(没有0.5个孩子)→ 离散型
  • “年龄” → 数量 → 可以细分(25.3岁、25.31岁…)→ 连续型

3. 实际案例分析

让我用一个完整的数据集来展示不同数据类型的分析方法:

3.1 创建示例数据

我写了一个程序,模拟了200个用户的各种信息,包含不同类型的数据。下面是实际运行的结果:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt# 创建示例数据集
np.random.seed(42)
n = 200data = {# 定性数据 - 名义型'性别': np.random.choice(['男', '女'], n, p=[0.52, 0.48]),'血型': np.random.choice(['A', 'B', 'AB', 'O'], n, p=[0.3, 0.25, 0.1, 0.35]),'城市': np.random.choice(['北京', '上海', '广州', '深圳', '杭州'], n, p=[0.25, 0.2, 0.2, 0.2, 0.15]),# 定性数据 - 有序型'学历': np.random.choice(['高中', '本科', '硕士', '博士'], n, p=[0.2, 0.5, 0.25, 0.05]),'满意度': np.random.choice(['不满意', '一般', '满意', '非常满意'], n, p=[0.1, 0.2, 0.5, 0.2]),# 定量数据 - 离散型'家庭人数': np.random.choice([1, 2, 3, 4, 5, 6], n, p=[0.15, 0.25, 0.3, 0.2, 0.08, 0.02]),'子女数量': np.random.choice([0, 1, 2, 3], n, p=[0.3, 0.4, 0.25, 0.05]),# 定量数据 - 连续型'年龄': np.random.normal(32, 8, n).round(1),'身高': np.random.normal(168, 8, n).round(1),'月收入': np.random.lognormal(9.2, 0.5, n).round(0)
}# 确保数据在合理范围内
data['年龄'] = np.clip(data['年龄'], 18, 65)
data['身高'] = np.clip(data['身高'], 150, 190)df = pd.DataFrame(data)

3.2 定性数据分析

定性数据分析

对于定性数据,我们主要关注:

名义型数据分析

  • 性别分布:男性52%,女性48%,比例相对均衡
  • 血型分布:O型血最多(35%),AB型最少(10%)
  • 城市分布:北京样本最多,各城市分布相对均匀

有序型数据分析

  • 学历分布:本科学历占主体(50%),呈现正常的教育结构
  • 满意度分布:大部分人表示满意(50%),整体满意度较高

交叉分析

  • 性别与学历的交叉分析显示,不同性别在各学历层次的分布基本均衡

3.3 定量数据分析

定量数据分析

对于定量数据,我们可以计算更丰富的统计量:

离散型数据分析

  • 家庭人数:主要集中在2-4人,符合现代家庭结构
  • 子女数量:多数家庭有1个孩子,符合当前生育趋势

连续型数据分析

  • 年龄分布:呈现正态分布,平均年龄32岁
  • 身高分布:也呈正态分布,平均身高168cm
  • 收入分布:呈现右偏分布,这是收入数据的典型特征

多变量分析

  • 不同学历的收入分布显示,学历越高,收入中位数越高,但也存在个体差异

3.4 数据摘要统计

基于我们的示例数据集(200个观测值,10个变量),以下是各变量的详细统计摘要:

📊 数据集摘要统计表
变量名大类细分类型统计信息1统计信息2统计信息3
定性变量(类别数)(众数)(频数/比例)
性别定性名义型2104 (52.0%)
血型定性名义型4O71 (35.5%)
城市定性名义型5北京50 (25.0%)
学历定性有序型4本科103 (51.5%)
满意度定性有序型4满意95 (47.5%)
定量变量(均值)(标准差)(范围)
家庭人数定量离散型3.01.31.0 - 6.0
子女数量定量离散型1.00.90.0 - 3.0
年龄定量连续型32.98.018.0 - 52.6
身高定量连续型168.67.7150.0 - 188.8
月收入定量连续型11818.56673.62297.0 - 48852.0
📝 数据集说明
  • 样本量:200个观测值
  • 变量数:10个变量(5个定性,5个定量)
  • 定性变量:包含名义型和有序型,主要用于分类和排序分析
  • 定量变量:包含离散型和连续型,可进行各种数学运算
🔍 分析要点
  • 定性数据重点关注频数分布和众数,了解各类别的分布情况
  • 定量数据可以计算均值、标准差等统计量,进行更深入的数值分析
  • 不同类型数据适用不同的分析方法,需要根据数据特性选择合适的统计工具

4. 别被这些误区骗了

❌ 误区1:数字就是定量数据

真相:邮政编码100001、学号2021001、球衣号码23,这些虽然是数字,但表示的是类别,属于名义型数据。

❌ 误区2:定性数据无法进行统计分析

真相:实际上可以做频数分析、比例分析、卡方检验等。

❌ 误区3:有序数据可以直接计算均值

真相:满意度1-5分的平均值意义有限,因为相邻等级间距离不等。

❌ 误区4:看起来是整数就是离散型

真相:年龄常记录为整数(如25岁),但仍然是连续型数据。关键看理论上是否可以细分,而不是看实际记录格式。

❌ 误区5:连续数据必须有小数

真相:实际记录可能是整数,但理论上可以细分就是连续型。

❌ 误区6:小数形式的离散型数据混淆

常见错误:看到"某地区人口153.2万人",以为有小数就是连续型。

真相:人口本质上是离散型(不能有0.5个人),153.2万只是为了表述方便的近似值。

判断关键:看数据的本质含义,而不是表现形式。问自己"这个东西能不能被切成一半还有意义?"

🤔 常见困惑:大数值离散数据能否按连续型分析?

实际问题:当离散型数据数值很大时(如人口百万级),能否按连续型来分析?

统计学观点:当离散型数据取值范围很大、可能取值很多时,可以近似按连续型处理。

经验法则:如果离散型变量的可能取值超过20-30个,通常可以用连续型的分析方法。

典型例子:城市人口、公司年收入、网站日访问量等,理论上是离散型,但实际分析中可按连续型处理。

5. 实际应用建议

5.1 数据收集阶段

  • 明确测量目标:你想了解什么?
  • 选择合适的测量方式:是分类还是数值?
  • 考虑后续分析需求:需要什么样的统计分析?

5.2 数据分析阶段

  • 先识别数据类型:这是选择分析方法的基础
  • 选择合适的统计量:不要盲目计算均值
  • 选择合适的可视化方法:让数据"说话"

5.3 结果解释阶段

  • 根据数据类型解释结果:名义型数据的"平均值"没有意义
  • 注意统计量的适用性:中位数vs均值的选择
  • 考虑实际意义:统计显著不等于实际重要

6. 练习一下

基础题

请判断以下变量的数据类型:

  1. 手机品牌(苹果、华为、小米、OPPO)
  2. 考试成绩(0-100分)
  3. 疼痛程度(无痛、轻微、中等、严重、剧烈)
  4. 银行卡号
  5. 每日步数
  6. 体温(℃)
  7. 星座评级(一星、二星、三星、四星、五星)
  8. 员工编号
  9. 某城市人口:285.7万人(容易混淆题)
  10. 某工厂月产值:127.5万元(容易混淆题)
  11. 网站日访问量:15.2万次(容易混淆题)

思考题

对于以下情况,你会选择什么统计量和图表?

  1. 分析公司员工的学历分布
  2. 比较不同部门的平均工资
  3. 展示客户满意度调查结果
  4. 分析网站日访问量的变化趋势

实际案例

某电商平台收集了以下客户数据:

  • 年龄、性别、城市、购买金额、购买次数、会员等级、满意度评分

请为每个变量确定数据类型,并设计相应的分析方案。

7. 重点回顾

今天我们学习了数据类型的分类体系:

🎯 核心概念

  1. 定性数据

    • 名义型:纯分类,无顺序
    • 有序型:有顺序,但间距不等
  2. 定量数据

    • 离散型:可数的整数值,不可细分
    • 连续型:可无限细分的数值,理论上可取任意值

🎯 关键要点

  • 数据类型决定了分析方法
  • 不要被数据的表面形式迷惑
  • 年龄虽然常用整数表示,但本质上是连续型
  • 判断连续型vs离散型的关键:理论上是否可以无限细分

🎯 判断技巧

  • 看本质不看形式
  • 测量通常是连续的,计数通常是离散的
  • 问自己:这个值可以有意义地细分吗?

8. 下期预告

下一篇我们聊 “描述性统计:让数据说话”。我们会学到:

  • 描述性统计的核心概念和常用统计量(均值、中位数、众数、极差、方差、标准差等)
  • 如何用数据总结和刻画样本的主要特征
  • 各类统计量的适用场景和解读方法
  • 避免常见的描述性统计误区

描述性统计是数据分析的基础,让我们学会用数字把数据的故事讲清楚!


📚 参考资料

本文参考了以下资料,如有引用请注明出处:

  • 《统计学原理》,贾俊平等著,中国人民大学出版社
  • 《应用统计学》,薛薇著,中国统计出版社

写在最后:感谢阅读!如果这篇文章对你有帮助,欢迎点赞、收藏和分享。有任何问题或建议,欢迎在评论区留言交流,我会认真回复每一条评论!让我们一起学习,一起进步! 📊


http://www.hkcw.cn/article/ZSHYwOaIoL.shtml

相关文章

【JVM】初识JVM 从字节码文件到类的生命周期

初识JVM JVM(Java Virtual Machine)即 Java 虚拟机,是 Java 技术的核心组件之一。JVM的本质就是运行在计算机上的一个程序,通过软件模拟实现了一台抽象的计算机的功能。JVM是Java程序的运行环境,负责加载字节码文件&a…

WebVm:无需安装,一款可以在浏览器运行的 Linux 来了

WebVM 是一款可以在浏览器中运行的Linux虚拟机。不是那种HTMLJavaScript模拟的UI,完全通过HTML5/WebAssembly技术实现客户端运行。通过集成CheerpX虚拟化引擎,可直接在浏览器中运行未经修改的Debian系统。 Stars 数13054Forks 数2398 主要特点 完整 Lin…

动态规划-931.下降路径最小和-力扣(LeetCode)

一、题目解析 从最顶上出发,有三个位置选择,左中下(边界除外),使其走到最下面时下降路径最小。 二、算法原理 1、状态表示 我们需要的是到达[i,j]的最小路径和,所以此时dp[i][j]表示:到达[i,j]位置时,最…

ssm学习笔记(尚硅谷) day1

创建新项目 maven的聚合 1. 标记父类项目 标签<packaging>pom</packaging>表示将该项目标记为父类项目&#xff0c;必须添加。 以下是标签<packing>的常见取值 groupId在pom.xml中&#xff0c;可以从pom.xml直接修改。 2. 通过<modules>添加子项目…

数据库 | 时序数据库选型

选型目标 高性能与低延迟&#xff1a;满足高频率数据写入与即时查询的需求。资源效率&#xff1a;优化存储空间使用&#xff0c;减少计算资源消耗。可扩展架构&#xff1a;支持数据量增长带来的扩展需求&#xff0c;易于维护。社区活跃度&#xff1a;有活跃的开发者社区&#…

Linux | Shell脚本的基础知识

一. 定义 1.1 什么是shell脚本 shell脚本是一种可运行的文本shell脚本的内容是由逻辑和数据组成shell脚本是解释型语言 命令不可单独执行&#xff0c;由解释器将代码转换为系统指令&#xff0c;系统接受指令后执行速度比编译型语言慢&#xff0c;优点是简单&#xff0c;开发效…

Window Server 2019--09 路由和桥接的设置

本章要点 >>了解路由器工作原理。 >>掌握路由与远程访问服务的设置。 >>掌握桥接的设置。 路由器(Router)是网络中的核心设备&#xff0c;它工作在开放系统互连(Open SystemInter- connection&#xff0c;OSI)网络参考模型的网络层(第3层),用于连接多个在…

国芯思辰| 霍尔电流传感器AH811为蓄电池负载检测系统安全护航

在电动车、储能电站、不间断电源&#xff08;UPS&#xff09;等设备中&#xff0c;蓄电池作为关键的储能单元&#xff0c;其运行状态直接关系到设备的稳定性和使用寿命。而准确监测蓄电池的负载情况&#xff0c;是保障其安全、高效运行的关键。霍尔电流传感器 AH811凭借独特的技…

如何构建高效的接口自动化测试框架(全)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 在选择接口测试自动化框架时&#xff0c;需要根据团队的技术栈和项目需求来综合考虑。对于测试团队来说&#xff0c;使用Python相关的测试框架更为便捷。无论选择…

Redis Stack常见拓展

Redis JSON RedisJSON 是 Redis Stack 提供的模块之一&#xff0c;允许你以 原生 JSON 格式 存储、检索和修改数据。相比传统 Redis Hash&#xff0c;它更适合结构化文档型数据&#xff0c;并支持嵌套结构、高效查询和部分更新。 #设置⼀个JSON数据,其中$表示JSON数据的根节点…

Java AQS(Abstract Queued Synchronized)深度解析

一、AQS概述 AQS是Java并发包中的核心框架&#xff0c;为构建锁和同步器提供了基础实现。它是JUC&#xff08;java.util.concurrent&#xff09;包中大多数同步类的基石&#xff0c;如ReentrantLock、Semaphore、CountDownLatch等都基于AQS实现。 1.1 AQS核心思想 AQS的核心…

建筑节能要求趋严,楼宇自控技术独特优势愈发清晰可辨

在全球应对气候变化、积极推进 “双碳” 目标的大背景下&#xff0c;建筑行业作为能源消耗的 “大户”&#xff0c;面临着日益严苛的节能要求。从国家相继出台的建筑节能设计标准&#xff0c;到地方推行的能耗限额管理政策&#xff0c;都在倒逼建筑行业探索更高效的节能路径。传…

TCP连接关闭过程的技术解析:从四次挥手到资源释放

一、引言 TCP&#xff08;传输控制协议&#xff09;作为面向连接的可靠传输协议&#xff0c;其连接的建立与终止过程均需严格遵循规范。本文基于实际抓包数据&#xff0c;深入分析客户端与服务端在数据传输后的连接关闭过程&#xff0c;聚焦四次挥手&#xff08;Four-Way Hand…

人工智能浪潮下,制造企业如何借力DeepSeek实现数字化转型?

一、DeepSeek技术概述 DeepSeek&#xff0c;凭借其强大的深度学习和自然语言处理能力&#xff0c;能够理解复杂问题并提供精准解决方案。它不仅能够作为学习、工作、生活的助手&#xff0c;满足用户在不同场景下的需求&#xff0c;更能在制造业中发挥重要作用。通过自然语言交…

知识隔离的视觉-语言-动作模型:训练更快、运行更快、泛化更好

25年5月来自PI的论文“Knowledge Insulating Vision-Language-Action Models: Train Fast, Run Fast, Generalize Better”。 视觉-语言-动作 (VLA) 模型通过将端到端学习与来自网络规模视觉-语言模型 (VLM) 训练的语义知识迁移相结合&#xff0c;为机器人等物理系统训练控制策…

Java实现命令行图书管理系统(附完整源码)

一、项目概述 本文将介绍如何使用Java实现一个基于命令行的图书管理系统。系统支持管理员和普通用户两种角色&#xff0c;提供图书的增删改查、借阅归还等功能。项目采用面向对象设计原则&#xff0c;代码结构清晰&#xff0c;适合Java初学者学习。 二、系统功能架构 graph T…

pyinstaller 使用 控制台闪退解决办法

pyinstaller --noconfirm --clean websoket.py --onefile pip install pyinstaller py地址不要带中文 install时的python版本要和文件的环境python版本一样 if __name__ "__main__": print("Starting WebSocket server at ws://0.0.0.0:5000/ws") p…

首发!PPIO派欧云上线DeepSeek-R1-0528-Qwen3-8B蒸馏模型

首发&#xff01;PPIO派欧云上线DeepSeek-R1-0528-Qwen3-8B蒸馏模型 DeepSeek R1 系列的模型更新还在继续。 继昨天 PPIO派欧云首发上线 DeepSeek-R1-0528 模型后&#xff0c;今天 PPIO 再次首发 DeepSeek 最新开源的蒸馏模型 DeepSeek-R1-0528-Qwen3-8B。 DeepSeek-R1-0528-Q…

DAY 10 机器学习建模与评估

把之前学到的对数据的处理方法都用一遍&#xff0c;以后直接使用处理好的数据。 开始机器学习建模&#xff08;简单建模&#xff0c;不涉及调参&#xff09;和评估。 一、总体流程 导库读取数据查看数据信息--理解数据补全缺失值处理异常值离散值处理删除无用列划分数据集特…

【Oracle】函数大全

个人主页&#xff1a;Guiat 归属专栏&#xff1a;Oracle 文章目录 1. Oracle函数概述1.1 函数的基本特点 2. 字符串函数2.1 基础字符串操作LENGTH 和 LENGTHBUPPER、LOWER、INITCAP 2.2 字符串截取和查找SUBSTR 和 SUBSTRBINSTR 和 INSTRB 2.3 字符串连接和替换CONCAT 和 ||REP…