《机器学习系统设计:Python语言实现》一2.6 Pandas

简介:

.本节书摘来自华章出版社《机器学习系统设计:Python语言实现》一书中的第2章,第2.6节,作者 [美] 戴维·朱利安(David Julian),更多章节内容可以访问云栖社区“华章计算机”公众号查看

2.6 Pandas

Pandas库建立于NumPy之上,并引入了一些十分有用的数据结构和功能,用于读取和处理数据。Pandas对于通常的数据处理(data munging)来说是极为出色的工具。诸如处理缺失数据、操作阵形和大小、在数据格式和结构间进行转换,以及从不同数据源导入数据等,使用Pandas对这些常见任务进行处理都很容易。
Pandas引入的主要数据结构有:
Series
DataFrame
Panel
DataFrame大概是使用最为广泛的。它是一个二维结构,实际上是由NumPy的数组、列表、字典,或是series等创建的表。我们还可以通过读取文件来创建DataFrame。
感受Pandas最好的方式大概就是完成一个典型的用例。假设我们有一个任务,研究每日最高温度如何随着时间变化。在这个例子中,我们将使用塔斯马尼亚的霍巴特气象站的天气观测历史数据。我们需要从地址http://davejulian.net/mlbook/data下载ZIP文件,并将其解压到Python工作目录中名为data的文件夹中。
首先,我们需要从中创建一个DataFrame:
image

检查一下数据中最开始的几行:
image

我们可以看到,每行都有相同的“product code”和“station number”,而这些信息是多余的。同时,累计最高温度的天数(“Days of accumulation of maximum temperature”)与我们的目标无关,因此也将其删除:
image

为了让数据读起来简单点,我们将列标记缩短:
image

我们只关心优质数据,因此只需要列出“quality”值为Y的记录:
image

我们可以从数据中得到统计汇总:
image

如果引入matplotlib.pyplot包,我们可以用这些数据绘图:
image
image

请注意PyPlot正确地绘制了日期轴的格式,对于缺少的那段时间的数据,PyPlot通过连接其两边的已知点进行了处理。我们可以通过如下方式将DataFrame转换为NumPy的数组:
image

如果DataFrame中包含多种数据类型,那么该函数会将这些类型都转换为它们的最小公分母类型,也就是说,会选择能够容纳所有值的那个类型。例如,如果DataFrame由float 16和float 32混合组成,则所有值都会转换为float 32。
Pandas的DataFrame非常适用于浏览和操作简单的文本和数值数据。然而,对于更为复杂的数值处理,例如计算点积,或者对线性系统求解等,Pandas可能就不适用了。对于数值应用,我们一般使用NumPy类。

相关文章
|
7月前
|
机器学习/深度学习 算法 Python
机器学习特征筛选:向后淘汰法原理与Python实现
向后淘汰法(Backward Elimination)是机器学习中一种重要的特征选择技术,通过系统性地移除对模型贡献较小的特征,以提高模型性能和可解释性。该方法从完整特征集出发,逐步剔除不重要的特征,最终保留最具影响力的变量子集。其优势包括提升模型简洁性和性能,减少过拟合,降低计算复杂度。然而,该方法在高维特征空间中计算成本较高,且可能陷入局部最优解。适用于线性回归、逻辑回归等统计学习模型。
261 7
|
5月前
|
机器学习/深度学习 人工智能 算法
Scikit-learn:Python机器学习的瑞士军刀
想要快速入门机器学习但被复杂算法吓退?本文详解Scikit-learn如何让您无需深厚数学背景也能构建强大AI模型。从数据预处理到模型评估,从垃圾邮件过滤到信用风险评估,通过实用案例和直观图表,带您掌握这把Python机器学习的'瑞士军刀'。无论您是AI新手还是经验丰富的数据科学家,都能从中获取将理论转化为实际应用的关键技巧。了解Scikit-learn与大语言模型的最新集成方式,抢先掌握机器学习的未来发展方向!
829 12
Scikit-learn:Python机器学习的瑞士军刀
|
9月前
|
机器学习/深度学习 数据采集 JSON
Pandas数据应用:机器学习预处理
本文介绍如何使用Pandas进行机器学习数据预处理,涵盖数据加载、缺失值处理、类型转换、标准化与归一化及分类变量编码等内容。常见问题包括文件路径错误、编码不正确、数据类型不符、缺失值处理不当等。通过代码案例详细解释每一步骤,并提供解决方案,确保数据质量,提升模型性能。
344 88
|
8月前
|
机器学习/深度学习 数据可视化 算法
Python与机器学习:使用Scikit-learn进行数据建模
本文介绍如何使用Python和Scikit-learn进行机器学习数据建模。首先,通过鸢尾花数据集演示数据准备、可视化和预处理步骤。接着,构建并评估K近邻(KNN)模型,展示超参数调优方法。最后,比较KNN、随机森林和支持向量机(SVM)等模型的性能,帮助读者掌握基础的机器学习建模技巧,并展望未来结合深度学习框架的发展方向。
Python与机器学习:使用Scikit-learn进行数据建模
|
7月前
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
7月前
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
|
8月前
|
Python
python pandas学习(一)
该代码段展示了四个主要操作:1) 删除指定列名,如商品id;2) 使用正则表达式模糊匹配并删除列,例如匹配订单商品名称1的列;3) 将毫秒级时间戳转换为带有时区调整的日期时间格式,并增加8小时以适应本地时区;4) 将列表转换为DataFrame后保存为Excel文件,文件路径和名称根据变量拼接而成。
96 3
|
9月前
|
存储 数据挖掘 数据处理
Python Pandas入门:行与列快速上手与优化技巧
Pandas是Python中强大的数据分析库,广泛应用于数据科学和数据分析领域。本文为初学者介绍Pandas的基本操作,包括安装、创建DataFrame、行与列的操作及优化技巧。通过实例讲解如何选择、添加、删除行与列,并提供链式操作、向量化处理、索引优化等高效使用Pandas的建议,帮助用户在实际工作中更便捷地处理数据。
211 2
|
11月前
|
数据采集 数据可视化 数据处理
Python数据科学:Pandas库入门与实践
Python数据科学:Pandas库入门与实践
|
11月前
|
机器学习/深度学习 数据采集 数据可视化
Python数据科学实战:从Pandas到机器学习
Python数据科学实战:从Pandas到机器学习

推荐镜像

更多