开发者社区> 华章计算机> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《构建实时机器学习系统》一1.7 案例:Netflix在机器学习竞赛中学到的经验
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第1章,第1.7节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1624 0
22、Python与设计模式--状态模式
#一、电梯控制器 电梯在我们周边随处可见,电梯的控制逻辑中心是由电梯控制器实现的。电梯的控制逻辑,即使简单点设计,把状态分成开门状态,停止状态和运行状态,操作分成开门、关门、运行、停止,那流程也是很复杂的。首先,开门状态不能开门、运行、停止;停止状态不能关门,停止;运行状态不能开门、关门、运行。要用一个一个if…else…实现,首先代码混乱,不易维护;二是不易扩展。至于各种设计原则什么的……
4223 0
《构建实时机器学习系统》一第2章 实时监督式机器学习 2.1 什么是监督式机器学习
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第2章,第2.1节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1554 0
C语言及程序设计进阶例程-21 银行储蓄系统(第五版)开发
贺老师教学链接  C语言及程序设计进阶 本课讲解 可以直接下载完整的项目文件bank.zip运行(点击打开链接,解压后打开项目,或者自建项目后加入源文件和头文件)下面的代码,分别展示各个头文件、源文件:Bank.h #ifndef BANK_H_INCLUDED #define BANK_H_INCLUDED #define upNum 2000 //系统最多容纳的用户数 struct
1126 0
《构建实时机器学习系统》一1.6 实时应用对机器学习的要求
本节书摘来自华章出版社《构建实时机器学习系统》一 书中的第1章,第1.6节,作者:彭河森 汪涵,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1008 0
23、Python与设计模式--设计原则
#一、六大设计原则 在法理学中,法律规则与法律原则都是法律规范的重要构成。但二者也会有些不同:法律规则是指采取一定的结构形式具体规定人们的法律权利、法律义务以及相应的法律后果的行为规范,内容比较明确,比如,交通法规中规定,禁止闯红灯;法律原则是指在一定法律体系中作为法律规则的指导思想,基本或本原的、综合的、稳定的原理和准则,内容上只包含“大方针”,而并未有具体规则,比如,如果车上有马上临产的孕妇
3358 0
《精通python设计模式》读书笔记之——结构型设计模式
结构型设计模式: 结构型设计模式处理一个系统中不同实体(比如,类和对象)之间的关系,关注的是提供一种简单的对象组合方式来创造新功能。可用于实现不兼容软件之间的接口兼容。
2008 0
一文解析统计学在机器学习中的重要性
本文介绍为什么统计对于通用应用和机器学习如此重要,并大致了解各种可用的方法。
1194 0
Python语言程序设计学习 之 了解Python
Python简介   Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年。   Python是纯粹的自由软件,源代码和解释器CPython遵循 GPL(GNU General Public License)协议。
1281 0
10057
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载