Python数据科学指南 - (EPUB全文下载)
文件大小:0.31 mb。
文件格式:epub 格式。
书籍内容:
Python数据科学指南
第1章 Python在数据科学中的应用
第2章 Python环境
第3章 数据分析——探索与争鸣
第4章 数据分析——深入理解
第5章 数据挖掘——海底捞针
第6章 机器学习1
第7章 机器学习2
第8章 集成方法
第9章 生长树
第10章 大规模机器学习——在线学习
欢迎来到异步社区!
第1章 Python在数据科学中的应用
在这一章里,我们将探讨以下主题。
使用字典对象
使用字典的字典
使用元组
使用集合
写一个列表
从另一个列表创建列表——列表推导
使用迭代器
生成一个迭代器和生成器
使用可迭代对象
将函数作为变量传递
在函数中嵌入函数
将函数作为参数传递
返回一个函数
使用装饰器改变函数行为
使用lambda创造匿名函数
使用映射函数
使用过滤器
使用zip和izip函数
从表格数据使用数组
对列进行预处理
列表排序
采用键排序
使用itertools
1.1 简介
Python语言提供了大量内置的数据结构和函数,十分便于数据科学的程序处理。在这一章里,我们先讨论那些最常用的部分。在后续章节中,你会看到它们在不同主题中的应用。熟练地掌握这些知识,有助于你在处理数据和开发算法的繁杂过程中快速地编写程序。
本章将对这些便捷的数据结构和方法做一个概述,当你成长为一个熟练的Python开发者,就能灵活地搭配并使用它们,同时找到自己的方式来实现目标。
各类数据结构都有其用途,在不同的环境下,可能要使用两类甚至更多来适应你的需求。在本书中,我们提供了大量的实例以供参考。
1.2 使用字典对象
在Python语言中,容器是一种对象,它能够容纳任意数量、任意类型的对象。它可以对子对象进行操作,还可以迭代操作。字典、元组、列表还有集合都是容器对象。在collections模块中,Python提供了更多的容器类型。在这一节中,我们先来仔细了解字典。
1.2.1 准备工作
我们先通过一个Python的脚本示例来理解字典是如何操作的,这段脚本用来统计词频,也就是每个词在给定的文本中出现的次数。
1.2.2 操作方法
下面的示例演示了在Python中对字典对象如何操作。通过对一句简单的文本进行处理,我们仔细探究一下真正的字典创建过程。
# 1. 加载一个句子到变量中
sentence = "Peter Piper picked a peck of pickled peppers A peck of
pickled \
peppers Peter Piper picked If Peter Piper picked a peck of pickled \
peppers Wheres the peck of pickled peppers Peter Piper picked"
# 2.初始化一个字典对象
word_dict = {}
# 3. 执行对词频的统计
for word in sentence.split():
if word not in word_dict:
word_dict[word] =1
else:
word_dict[word]+=1
# 4. 打印输出词频结果
1.2.3 工作原理
前面的代码创建了一个词频表,记录了每个词及其出现的频率。
最终的打印输出结果如下。
{'a': 2, 'A': 1, 'Peter': 4, 'of': 4, 'Piper': 4, 'pickled': 4,
'picked': 4, 'peppers': 4, 'the': 1, 'peck': 4, 'Wheres': 1, 'If': 1}
上面的结果是一个键值对,对于每个词(键),相对应的是频率(值)。字典数据结构是一个哈希映射,值对应于键。在上例中,我们是把字符串当作键,当然,我们也可以把其他不可变的数据类型当作键。
要看更多关于Python中的可变和不可变对象的详细讨论,请访问如下链接。
https://docs.python.org/2/reference/datamodel.html。
同样地,值可以是任意数据类型,包括自定的类。在第2步中,我们初始化了一个字典对象,此时,它还是空的。当一个新键被添加到字典的时候,如果对字典进行的操作涉及这个新键,将抛出一个KeyError错误。在上例中的第3步里,我们可以在for循环里添加一个if语句来控制这个情形,我们也可以使用以下语句。
word_dict.setdefault(word,0)
如果我们要在循环中给一个字典添加元素,需要对字典的所有键进行操作,这个语句会被重复调用,我们可能并没有清楚地意识到这一点。
for word in sentence.split():
word_dict.setdefault(word,0)
word_dict[word]+=1
1.2.4 更多内容
在Python 2.5及以上版本的collections模块中,有一个defaultdict类。它和setdefault方法有着对应关系,defaultdict类调用的实例如下所示。
from collections import defaultdict
sentence = "Peter Piper picked a peck of pickled peppers A peck of\
pickled peppers Peter Piper picked If Peter Piper picked a peck of\
pickled peppers Wheres the peck of pickled peppers Peter Piper picked"
word_dict = defaultdict(int)
for word in sentence.spl ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Python数据科学指南 - (EPUB全文下载)