用 PySpark 分析泰坦尼克数据集,几行代码看出生存率

发布时间:2026/10/11 13:18:09

用 PySpark 分析泰坦尼克数据集,几行代码看出生存率 学大数据处理第一课往往不是背概念而是先跑通一个真实数据集。泰坦尼克号乘客数据titanic.csv几乎是 Spark 入门最经典的练手材料字段不多、关系直观又能立刻看出数据会说话。这篇文章用 PySpark 带你从读文件到分组统计几行代码就能回答一个很现实的问题——当时船上谁更容易活下来。环境准备pip install pyspark 即可不需要先搭集群本地单机模式local就能跑完这个量级的数据。如果你正在做 Spark 期末大作业这套代码可以直接当骨架改。第一步读数据from pyspark.sql import SparkSession spark SparkSession.builder.appName(titanic).getOrCreate() df spark.read.csv(titanic.csv, headerTrue, inferSchemaTrue) df.printSchema()Spark 读 CSV 很省心headerTrue 把第一行当列名inferSchemaTrue 自动推断类型省得手动定义 schema。第二步看总体存活率Survived 字段里 1 表示生还、0 表示遇难。求个平均值就是生还比例。from pyspark.sql.functions import avg df.select(avg(Survived).alias(overall_rate)).show()第三步按性别和舱位分组df.groupBy(Sex).avg(Survived).show() df.groupBy(Pclass).avg(Survived).show() df.groupBy(Sex, Pclass).avg(Survived) \ .orderBy(Sex, Pclass).show()把性别和舱位叠在一起结论更细头等舱女性存活率接近百分之百而三等舱男性最低。这就是泰坦尼克数据最著名的结论来源——妇孺优先不是口号是真的写进了救生艇规则头等舱离救生艇近、消息也灵存活率天然更高。为什么要用 PySpark读懂这些数字比记住Spark 是什么更有用。它告诉你数据分析的基本套路先有疑问谁更容易活再找维度性别、舱位最后用分组聚合把规律逼出来。PySpark 的价值是当数据从几千行变成几亿行时这套写法几乎不用改Spark 自动帮你把计算分到多台机器上并行跑。作业小建议把这份代码迁到你的 titanic.csv 上再加一两个维度比如年龄分段、是否 alone结论会更有层次也更容易在报告里写出我们发现……的句子。
延伸阅读

更多相关文章

2026/10/11 13:13:09

Jmeter接口测试实战:从HTTP基础到参数化、断言与压测

1. 项目概述:接口测试为什么要选Jmeter先开门见山说结论:用Jmeter做HTTP接口测试,是目前中小团队和个人测试最“性价比”的选择之一。你不需要写一段复杂的Java代码,不需要维护一套平台,只要把Jmeter装好,按…

2026/10/11 13:13:09

K8s离线部署flannel镜像包全攻略:从拉取到导入避坑

简介:这份资源面向正在搭建 Kubernetes 集群、需要为节点配置网络插件的运维与开发人员,解决 k8s 安装过程中 flannel 网络组件镜像难以获取、离线环境拉取不便的问题。压缩包共 3 个文件,以 2 个 tar 镜像包和 1 个 yaml 清单为主&#xff0…

2026/10/11 14:23:16

Flutter适配OpenHarmony的Container组件实战指南

1. 项目概述 大概从去年开始,我就在关注 Flutter 在 OpenHarmony 上的适配进展。之前很多团队还停留在“能跑起来”的阶段,页面稍微复杂一点就各种崩溃、布局错乱,尤其是想用基础组件的时候,经常发现行为跟标准 Flutter 不一致。所…

2026/10/11 14:23:16

城市运管服平台下综合办公数字化建设实践与思考

数字政府建设持续向纵深推进,城市运行管理服务平台作为城市治理 的重要载体,除城市事件处置、监测预警、指挥调度等核心业务之外,内部综合办公数字化建设,已经成为提升部门协同效率、规范内部业务流程、实现治理业务与内部管理双向…

2026/10/11 14:23:16

IBM-PC汇编课后习题答案详解:补码、寻址与标志位避坑指南

简介:《IBM-PC汇编语言程序设计》配套习题答案,主要为使用沈美明、温冬婵教材的计算机专业学生和自学者提供课后练习参考。文档按习题解答主线展开,覆盖数制转换、8位补码加减运算、位操作、ASCII码与字符串处理等基础知识点,并对…

2026/10/11 14:23:16

Flutter for OpenHarmony 中 Container 组件核心属性与实战避坑

做客户端开发这些年,我接触过不少跨端方案,Flutter 算是用得最多的一套。前阵子把一个内部工具项目的界面迁移到 OpenHarmony 设备,用的就是社区维护的 Flutter for OpenHarmony 分支。迁移过程中我有个很深的感受:真正让你在真机…

2026/10/11 14:18:16

SpringBoot3+EasyExcel实现复杂Excel一键导入实战指南

1. 项目背景与方案选型1.1 从POI直接操作说起做后端开发的,谁没被Excel导入导出折磨过?我早年用Apache POI直接写导入功能,代码量大不说,最痛苦的是内存。一个几万行的Excel解析下来,整个JVM堆吃紧,频繁Ful…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

2026/10/11 0:02:13

Python调用Gemini Structured Outputs实现工单路由门禁

客服工单最怕的不是模型“答错一句话”,而是它给出一段看起来合理的说明,程序却从中猜错优先级。通俗做法是:要求模型只交 JSON(JavaScript Object Notation,轻量数据格式),再让代码验证它。Gem…

2026/10/11 0:02:13

Spring Boot超市进销存系统毕设实战:从需求拆解到答辩通关

最近带的一个学生项目组里,有A同学跑来问我:选什么毕设题目最稳妥,既能让评审老师觉得工作量够,又不会在答辩时被问到语无伦次。我第一反应就是推荐基于Spring Boot的超市仓库管理系统——也就是超市进销存系统。这个题目乍一看平…

2026/10/11 0:02:13

Flutter StatefulWidget 生命周期核心解析

很多刚开始接触 Flutter 的朋友,在看完一堆“Hello World”和基础组件之后,大概率都会撞上同一堵墙:StatefulWidget 里那堆 initState、build、dispose 方法,到底什么时候被调用?为什么顺序是那样?在里面到…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑