实战指南)
数据科学生命周期之分析阶段用 Pandas 开展探索性数据分析EDA实战指南【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners在数据科学生命周期中分析Analyzing阶段的核心任务是验证所采集的数据是否足以回答既定问题或解决特定业务难题同时确认模型对这些问题的响应是否正确。本指南以 Data-Science-For-Beginners 课程第 15 课为骨架以真实邮件词频数据集data/emails.csv为例系统讲解探索性数据分析Exploratory Data AnalysisEDA的四大核心技术——描述性统计、随机抽样、条件查询与缺失值识别并结合课程配套 Jupyter Notebook4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb给出可直接运行的代码与真实输出。读完后你将掌握用 Pandas 对任意数据集快速完成画像—抽样—查询—质检的能力并为后续建模与可视化打好数据基础。为什么分析阶段如此关键回顾生命周期课程4-Data-Science-Lifecycle/14-Introduction/README.md可知数据科学是一个由采集Capturing、处理Processing、分析Analysis、沟通Communication、维护Maintenance五个阶段组成的迭代过程。采集阶段负责获取数据并定义待解决的问题但一个悬而未决的问题是这些数据真的能支撑最终结果吗为此数据科学家在拿到数据后通常会追问三个问题我有足够的数据来解决这个问题吗这些数据对该问题的质量是否可接受如果通过数据发现了额外信息是否应该考虑调整或重新定义目标探索性数据分析正是回答这些问题、并识别数据集处理挑战的过程。它不急于建模而是先用轻量级手段认识数据——这正是本课的核心价值所在。数据画像与描述性统计先用 describe() 摸清底细如何评估数据量是否足够数据画像Data Profiling通过描述性统计技术对数据集进行汇总归纳画像帮助我们理解有什么可用描述性统计则帮助我们理解有多少可用。Pandas 中最常用的入口是describe()函数它对数值型数据一次性输出统计量含义count非空样本数量判断数据量是否充足min / max最小 / 最大值判断取值范围mean均值判断整体水平std标准差判断离散程度25% / 50% / 75%四分位数判断分布形态与偏态课程配套 Notebook4-Data-Science-Lifecycle/15-analyzing/notebook.ipynb首先加载邮件词频数据集然后直接调用describe()import pandas as pd # 加载数据集407 行1 行表头 406 封邮件17 列特征词 path ../../data/emails.csv email_df pd.read_csv(path) # 对邮件数据集使用 describe() print(email_df.describe())真实输出节选the to ect and for of count 406.000000 406.000000 406.000000 406.000000 406.000000 406.000000 mean 7.022167 6.519704 4.948276 3.059113 3.502463 2.662562 std 10.945522 9.801907 9.293820 6.267806 4.901372 5.443939 min 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 25% 1.000000 1.000000 1.000000 0.000000 1.000000 0.000000 50% 3.000000 3.000000 2.000000 1.000000 2.000000 1.000000 75% 9.000000 7.750000 4.000000 3.000000 4.750000 3.000000 max 99.000000 88.000000 79.000000 69.000000 39.000000 57.000000从输出中可以立即读出几条关键信息每列 count 均为 406无缺失、样本量确定the、a、i等高频词标准差远大于均值说明词频分布右偏明显如a的 max 达 843而中位数仅 29暗示数据中存在少数极端长邮件。这类洞察正是判断数据够不够、质量行不行的第一手依据。抽样与查询sample() 随机看、query() 精准问随机抽样用小样本获得整体感知在大数据集上逐行查看所有内容非常耗时通常交给计算机完成。抽样Sampling是理解数据的得力工具它让我们对数据集里有什么、代表什么建立直观认知并可用概率与统计手段对整体做出一般性结论。抽样量没有硬性规定但抽样越多对数据的概括就越精确。Pandas 的sample()函数可指定随机抽取的样本数量Notebook 中抽取 10 封邮件# 随机抽样 10 封邮件 print(email_df.sample(10))输出展示了每封邮件的 16 个特征词计数与Email No.标识列例如索引 320 的邮件Email 321中a出现 187 次、i出现 171 次明显高于其他样本这为后续发现极端值提供了线索。注意sample()默认不放回抽样可通过random_state参数固定随机种子以复现结果。条件查询带着问题精准聚焦与抽样不同查询Querying让你对数据保有控制权能聚焦于你关心的特定数据子集。Pandas 的query()函数允许通过布尔表达式筛选行从而得到关于数据的简单答案。Notebook 中演示了找出to出现次数多于the的邮件# 返回满足 to 出现次数多于 the 的所有行 print(email_df.query(the to))真实输出显示该条件命中了 169 行[169 rows x 17 columns]例如Email 2the8, to13、Email 4the0, to5等。这里 17 列 16 个特征词 1 个Email No.标识列与数据集结构完全对应见 data/emails.csv 表头Email No.,the,to,ect,and,for,of,a,you,in,on,is,this,i,be,that,will。值得留意的是query()支持引用外部变量如threshold、组合多条件、|以及数值比较是把业务问题翻译成数据筛选的高效手段。用可视化辅助探索不必等到数据被彻底清洗和分析完毕才开始作图。事实上在探索阶段就引入可视化有助于提前识别数据中的模式、关系与问题同时可视化也是与非数据处理人员沟通的桥梁可以澄清采集阶段尚未覆盖的疑问。课程为此专门开设了完整的可视化章节3-Data-Visualization涵盖数量、分布、占比、关系等不同视角的探索技巧建议在 EDA 流程中结合使用直方图、箱线图与散点图来验证describe()中观察到的分布特征。识别不一致与缺失值isna() / isnull()本课介绍的所有技术都有助于发现缺失或不一致的值而 Pandas 还提供了专门函数进行核验isna()或isnull()可用于检查缺失值两者等价isnull是isna的别名。探索这些缺失值的关键不只是找出它们而是理解它们最初为何缺失——只有弄清缺失机制才能决定采取何种处理动作。关于缺失值的后续治理重载数据、插补填充或删除对应记录等课程在数据准备章节给出了完整方法2-Working-With-Data/08-data-preparation/notebook.ipynb其中特别强调缺失数据会带来不准确、偏弱或有偏的结果处理方式应依据缺失的成因来选择。实战任务用 EDA 回答纽约出租车小费是否存在季节性课程为分析阶段设计了延续性实战任务4-Data-Science-Lifecycle/15-analyzing/assignment.md承接上一课的数据评估作业4-Data-Science-Lifecycle/14-Introduction/assignment.md客户的问题是纽约市黄色出租车乘客在冬季还是夏季给司机的小费更多你的团队正处于生命周期中的分析阶段需要基于一份包含 2019 年 1 月与 7 月各 100 笔、共 200 笔出租车交易的样本data/taxi.csv做真正的 EDA。配套 Notebook4-Data-Science-Lifecycle/15-analyzing/assignment.ipynb已给出加载代码数据为 200 行 × 18 列字段包括tpep_pickup_datetime上车时间可用于判断季节、trip_distance行程距离、fare_amount车费、tip_amount小费、payment_type支付方式等。请综合运用本课技巧在 Notebook 中可自行添加单元格回答数据中还有哪些因素可能影响小费金额可尝试describe()观察trip_distance、passenger_count与tip_amount的关系再用query()按季节或支付方式分组筛选哪些列最可能不需要用于回答客户问题如store_and_fwd_flag等与计费无关的字段基于现有数据是否存在季节性小费行为的证据对比冬季 1 月与夏季 7 月的小费均值与分布这一任务的意义在于把describe()、sample()、query()、isna()四类工具串联成一条完整的 EDA 工作流从数据能不能答推进到数据初步给出了什么答案。小结分析阶段是连接数据采集与建模决策的枢纽。通过本课你可以形成一套可复用的 EDA 最小闭环先用describe()完成数据画像、判断体量与分布再用sample()随机审视原始记录、建立直观认知随后用query()把业务假设转译为数据筛选最后用isna()/isnull()排查缺失并追溯成因。每一步都能在课程仓库的 Notebook 与数据集中找到可直接运行的范例notebook.ipynb、emails.csv、taxi.csv完成课后任务后你便已走通数据科学生命周期中用数据回答问题的关键一环。【免费下载链接】Data-Science-For-Beginners10 Weeks, 20 Lessons, Data Science for All!项目地址: https://gitcode.com/GitHub_Trending/da/Data-Science-For-Beginners创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考