《机器学习系统设计: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类。

相关文章
|
14天前
|
机器学习/深度学习 人工智能 算法
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
昆虫识别系统,使用Python作为主要开发语言。通过TensorFlow搭建ResNet50卷积神经网络算法(CNN)模型。通过对10种常见的昆虫图片数据集('蜜蜂', '甲虫', '蝴蝶', '蝉', '蜻蜓', '蚱蜢', '蛾', '蝎子', '蜗牛', '蜘蛛')进行训练,得到一个识别精度较高的H5格式模型文件,然后使用Django搭建Web网页端可视化操作界面,实现用户上传一张昆虫图片识别其名称。
152 7
【昆虫识别系统】图像识别Python+卷积神经网络算法+人工智能+深度学习+机器学习+TensorFlow+ResNet50
|
2天前
|
数据采集 机器学习/深度学习 数据可视化
了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。
【7月更文挑战第5天】了解数据科学面试中的Python数据分析重点,包括Pandas(DataFrame)、NumPy(ndarray)和Matplotlib(图表绘制)。数据预处理涉及缺失值(dropna(), fillna())和异常值处理。使用describe()进行统计分析,通过Matplotlib和Seaborn绘图。回归和分类分析用到Scikit-learn,如LinearRegression和RandomForestClassifier。
14 3
|
2天前
|
机器学习/深度学习 算法 文件存储
使用Python实现深度学习模型:神经架构搜索与自动机器学习
【7月更文挑战第5天】 使用Python实现深度学习模型:神经架构搜索与自动机器学习
15 2
|
12天前
|
机器学习/深度学习 算法 数据挖掘
Python机器学习10大经典算法的讲解和示例
为了展示10个经典的机器学习算法的最简例子,我将为每个算法编写一个小的示例代码。这些算法将包括线性回归、逻辑回归、K-最近邻(KNN)、支持向量机(SVM)、决策树、随机森林、朴素贝叶斯、K-均值聚类、主成分分析(PCA)、和梯度提升(Gradient Boosting)。我将使用常见的机器学习库,如 scikit-learn,numpy 和 pandas 来实现这些算法。
|
2天前
|
存储 消息中间件 数据挖掘
Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。
【7月更文挑战第5天】Python实时数据分析:利用丰富的库(如Pandas, PySpark, Kafka)进行流处理,涵盖数据获取、预处理、处理、存储及展示。示例代码展示了从Kafka消费数据,计算社交媒体活跃度和物联网设备状态,并可视化结果。适用于监控、故障检测等场景。通过学习和实践,提升实时数据分析能力。
8 0
|
2天前
|
机器学习/深度学习 数据可视化 搜索推荐
Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。
【7月更文挑战第5天】Python在社交媒体分析中扮演关键角色,借助Pandas、NumPy、Matplotlib等工具处理、可视化数据及进行机器学习。流程包括数据获取、预处理、探索、模型选择、评估与优化,以及结果可视化。示例展示了用户行为、话题趋势和用户画像分析。Python的丰富生态使得社交媒体洞察变得高效。通过学习和实践,可以提升社交媒体分析能力。
10 0
|
2天前
|
数据采集 数据挖掘 大数据
Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据
【7月更文挑战第5天】Pandas是Python数据分析的核心库,基于NumPy,提供DataFrame结构处理结构化数据。它支持缺失值处理(dropna()、fillna())、异常值检测(Z-Score、IQR法)和重复值管理(duplicated()、drop_duplicates())。此外,数据转换包括类型转换(astype())、数据标准化(Min-Max、Z-Score)以及类别编码(get_dummies())。这些功能使得Pandas成为大数据预处理的强大工具。
|
6天前
|
数据采集 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python 3的Pandas库
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
23 0
|
10天前
|
Python
技术心得记录:分分钟学会一门语言之Python3篇【转载】
技术心得记录:分分钟学会一门语言之Python3篇【转载】
|
10天前
|
Web App开发 JSON 程序员
老程序员分享:Python有哪些好用的语言翻译方法
老程序员分享:Python有哪些好用的语言翻译方法