ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Data Science for Beginners 示例代码指南:从零开始的 5 个 Python 数据科学入门实战

2026/9/15 15:47:06 拓冰建站 浏览量
Data Science for Beginners 示例代码指南:从零开始的 5 个 Python 数据科学入门实战 Data Science for Beginners 示例代码指南从零开始的 5 个 Python 数据科学入门实战【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners本篇技术指南以 Data-Science-For-Beginners 仓库中 examples 示例目录含法语译本 translations/fr/examples/README.md为核心系统讲解 5 个循序渐进、带详细注释的 Python 数据科学示例脚本。你将掌握如何加载 CSV 数据、计算基础统计量、按条件筛选与分组聚合、用 Matplotlib 绘制图表并最终完成一个「定义问题 → 加载 → 清洗 → 分析 → 可视化 → 得出结论」的完整数据科学工作流为进入 20 节正式课程打下实践基础。示例目录概览为绝对初学者设计examples/目录是 Data-Science-For-Beginners 课程10 周、20 课的配套实战入口。仓库 examples/README.md 明确指出这里的每个示例都是**自包含self-contained**的并遵循统一设计原则清晰的注释每一步都解释「做了什么」和「为什么这么做」简单可读的代码每次只演示一个概念真实业务场景帮助理解何时、为何使用这些技术预期输出运行后能对照检查结果是否正确。5 个示例文件按难度编号排列构成一条完整的学习路径序号文件核心主题用到的数据101_hello_world_data_science.py数据结构与基础统计内存中的 Python 列表202_loading_data.py数据加载与探索data/birds.csv303_simple_analysis.py统计、筛选、分组、排序data/honey.csv404_basic_visualization.py柱状图、折线图、饼图data/honey.csv505_real_world_example.py完整数据科学工作流data/birds.csv环境准备Python 与三方库安装根据 examples/README.md 的「Prérequis / Prerequisites」部分运行这些示例需要Python 3.7 或更高版本已安装具备运行 Python 脚本的基础能力如python 01_hello_world_data_science.py。需要安装的库只有三个——它们是整个数据科学生态中最常用的基础组合pip install pandas numpy matplotlibpandas提供 DataFrame 数据结构负责数据加载、清洗、筛选、分组聚合numpy提供高效的数值计算与数组运算是 pandas 的底层支撑matplotlib负责绘图可视化。值得注意的是第一个示例 01_hello_world_data_science.py 在其文件头的注释中声明「Prerequisites: Just Python installed on your computer!」——即它仅依赖 Python 标准库不依赖任何第三方库非常适合零基础读者首先运行。示例 1数据科学风格的 Hello World文件 examples/01_hello_world_data_science.py 是所有示例的起点其设计目标是在不引入任何第三方依赖的情况下展示数据科学的基本构件1. 用 Python 内建结构创建数据集使用列表list保存学生姓名与成绩这构成了最简单的「数据集」students [Alice, Bob, Charlie, Diana, Eve] scores [85, 92, 78, 95, 88]2. 计算基础统计量用内建函数完成第一轮分析——最高分、最低分、平均分sum()求和、len()计数:.2f保留两位小数highest_score max(scores) lowest_score min(scores) average_score sum(scores) / len(scores) print(f Average score: {average_score:.2f})3. 结合索引查找信息通过scores.index(highest_score)定位最高分的位置再据此取出对应的学生姓名top_student_index scores.index(highest_score) top_student students[top_student_index]4. 用字典组织结构化数据将两个列表配对为键值对key-value字典这是后续所有表格型数据操作的雏形student_scores {} for i in range(len(students)): student_scores[students[i]] scores[i]脚本结尾的注释对该示例做了总结创建数据集 → 基础分析max/min/mean→ 发现洞察谁是第一名→ 用字典组织数据并明确提示「These are the fundamental building blocks of data science!」为下一示例引入 pandas 做铺垫。示例 2加载与探索数据文件 examples/02_loading_data.py 引入 pandas演示任何数据科学项目的第一步把文件读进内存并了解其全貌。其使用的数据是仓库自带的 data/birds.csv该文件包含 Name、ScientificName、Category、Order、Family、Genus、ConservationStatus、MinLength、MaxLength、MinBodyMass、MaxBodyMass、MinWingspan、MaxWingspan 等鸟类特征字段。核心操作与对应 pandas API目的API说明读取 CSVpd.read_csv(../data/birds.csv)从仓库data/目录加载文件示例脚本位于examples/下故用../定位行列规模data.shape返回(行数, 列数)元组列名清单data.columns列出所有列查看前几行data.head()默认显示前 5 行查看末尾几行data.tail(3)显示最后 3 行类型与非空统计data.info()显示列名、数据类型、非空值计数统计摘要data.describe()数值列的均值、标准差、min/max 等缺失值检查data.isnull().sum()逐列统计缺失值数量唯一值计数data[col].nunique()某列唯一值个数脚本对缺失值结果做了分支提示若无缺失值打印✅否则提示「需要处理缺失值」。这正是后续示例 5 中数据清洗步骤的前置铺垫。脚本结尾还给出 Pro Tips分析前务必先探索数据、检查缺失值及其原因、核对数据类型是否合理、用 head/tail 发现明显问题——这些习惯贯穿整个课程。示例 3简单数据分析文件 examples/03_simple_analysis.py 使用 data/honey.csv美国各州蜂蜜产量数据字段包括 state、numcol、yieldpercol、totalprod、stocks、priceperlb、prodvalue、year系统演示六个分析小节第 1 节计算统计量对totalprod总产量列一次性输出均值、中位数、众数、标准差、最小值、最大值total_production data[totalprod] total_production.mean() # 均值 total_production.median() # 中位数 total_production.mode().values[0] # 众数取第一个值 total_production.std() # 标准差 total_production.min() / .max() # 极值第 2 节按条件筛选单条件筛选——只取 2000 年的记录data[data[year] 2000]多条件组合——产量超 1000 万磅且年份晚于 2010data[(data[totalprod] 10000000) (data[year] 2010)]。注意 pandas 多条件必须用而非 Python 的and且每个条件需加括号。第 3 节分组与聚合按州分组计算平均产量再降序排序并输出前 10 名state_averages data.groupby(state)[totalprod].mean() state_averages_sorted state_averages.sort_values(ascendingFalse)第 4 节排序data.sort_values(totalprod, ascendingFalse)按总产量降序配合head()查看最高产量的记录。第 5 节计数data[state].value_counts()统计每个州出现的记录条数。第 6 节用数据回答问题以「2012 年哪个州蜂蜜产量最高」为例演示完整问题求解链先筛选年份 → 用idxmax()找到最大值所在行索引 → 用loc取出州名与产量。year_2012 data[data[year] 2012] max_prod_idx year_2012[totalprod].idxmax() max_prod_state year_2012.loc[max_prod_idx, state]脚本末尾附带了练习建议找平均产量最低的州、按年份计算总产量、分析时间趋势等引导读者主动扩展。示例 4数据可视化基础文件 examples/04_basic_visualization.py 引入matplotlib.pyplot继续使用 data/honey.csv依次演示四种图表全部以dpi300的高分辨率保存到examples/目录可视化 1柱状图比较类别plt.bar()绘制各州平均产量 Top 10配合colorgold, edgecolororange配色、plt.xticks(rotation45)旋转横轴标签、plt.grid(axisy, alpha0.3, linestyle--)添加虚线网格最终plt.savefig(bar_chart_example.png, dpi300, bbox_inchestight)保存并用plt.close()释放内存。可视化 2折线图展示时间趋势data.groupby(year)[totalprod].sum()得到逐年总产量用plt.plot(..., markero, linewidth2, colordarkorange, markersize6, markerfacecolorgold)绘制带圆点标记的趋势线保存为line_plot_example.png。可视化 3饼图展示占比Top 5 州产量占比plt.pie(values, labels..., autopct%1.1f%%, startangle90, explode(0.1, 0, 0, 0, 0))显示百分比并将第一个扇区略微分离保存为pie_chart_example.png。可视化 4多序列对比一图多线对 CA、ND、SD 三个州分别groupby(year).sum()后在同一个坐标系中绘制折线用plt.legend(titleState)添加图例保存为comparison_plot_example.png。脚本结尾给出了选图类型的核心准则这也是后续课程 09–13 课的要点柱状图比较类别、折线图展示时间趋势、饼图展示整体构成、散点图展示变量间关系。保存的 PNG 图片文件与课程可视化章节如 3-Data-Visualization 各课的 images 目录相互印证。示例 5真实世界数据完整工作流文件 examples/05_real_world_example.py 是本目录的压轴示例将前四个示例的能力串联成一个端到端end-to-end数据科学项目场景是航空安全领域真实的「鸟击Bird Strike」问题——即鸟类与飞机相撞事件的分析。它完整演示了 8 个步骤定义问题明确回答 4 个问题——发生多少次鸟击何时最常发生涉及哪些常见鸟种典型损坏程度如何脚本用input(Press Enter to continue...)暂停强化「先思考问题再动手」的习惯加载数据pd.read_csv(../data/birds.csv)并用try/except FileNotFoundError做了防御性处理文件缺失时输出错误提示并exit(1)探索数据输出形状、列名、前 3 行、各列数据类型data.dtypes清洗数据用data.isnull().sum()与缺失占比(missing_counts / len(data)) * 100检查缺失值并列出真实项目中应做的四件事——处理缺失值删除/填充/保留、检查重复记录、校验数据类型、排查异常值分析数据统计事件总数len(data)、用value_counts()找出最常见的 5 种鸟类及其占比、自动探测时间列在FlightDate/Date/Time中查找可用列可视化数据横向条形图plt.barh()展示 Top 10 鸟类直方图data[col].hist(bins30, ...)展示首个数值列的分布分别保存为birds_top_species.png与birds_distribution.png得出结论汇总关键发现总事件数、最常见物种并阐述实际意义——帮助机场实施针对性鸟控措施、改进飞行安全程序、辅助飞行员培训后续方向时间模式时刻/季节、地理模式机场/区域、与机型或飞行阶段关联、构建高风险条件预测模型、为利益相关方搭建交互式仪表盘。脚本结尾强调这 8 步流程与真实数据科学家在项目中使用的工作流程完全一致——这一理念与课程第 4 部分 4-Data-Science-Lifecycle 所讲授的数据科学生命周期课程一脉相承。使用建议与学习路径examples/README.md 给出了 5 条关键使用建议按顺序学习示例按难度编号从01_hello_world_data_science.py开始循序渐进细读注释每个文件都包含解释「做了什么、为什么」的详细注释动手实验主动修改代码观察变化——「弄坏再修好」正是有效的学习方式运行并对照预期执行每个示例并核对输出是否符合预期在此基础上扩展理解一个示例后加入自己的想法继续改造。对初学者而言还应做到不急于求成逐个消化尽量亲手敲代码而非复制粘贴以加深记忆遇到陌生概念可在正式课程各课 README 中查阅保持规律练习——每天少量编码优于每周一次长时间突击。完成这 5 个示例后即可无缝衔接课程的后续内容学习各课 README 中的正文与概念、完成每个课程文件夹中的 assignment 练习如 1-Introduction/01-defining-data-science/assignment.md、深入 notebook.ipynb 等 Jupyter Notebook 进行更深入的交互式学习。教师读者可参考 for-teachers.md 了解如何在课堂中使用本课程。与课程体系的关系这套示例不是孤立的它与整个课程存在明确映射示例 1–3 对应第 1 部分「数据科学入门」与第 2 部分「处理数据」的基础能力示例 4 是第 3 部分「数据可视化」课程 3-Data-Visualization/09-visualization-quantities 至 13-meaningful-visualizations的迷你版示例 5 的 8 步流程则与第 4 部分「数据科学生命周期」的工作流模型一致。仓库 data 目录下的 birds.csv、honey.csv、diabetes.tsv、mushrooms.csv 等数据集也可用于替换实验验证所学技能。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考