《Python数据科学指南》——1.3 使用字典的字典
本节书摘来自异步社区《Python数据科学指南》一书中的第1章,第1.3节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.3 使用字典的字典我们之前提到,为了完成目标,你得创造性地应用各类数据结构,这样才能发挥它们的威力。接下来,我们通过一个实例来帮助理解“字典的字典”。
1.3.1 准备工作请看表1-1。
第1列中列出了3个用户,其他列都是电影,单元格里是每个用户给电影的评分。我们要把这些数据放到内存中,这样大型程序的其他部分也能方便地访问,此时我们将使用“字典的字典”。
1.3.2 操作方法我们通过匿名函数来创建一个user_movie_rating的字典对象,以此展示“字典的字典”这一概念。
我们先将字典的字典填满数据。
from collections import defaultdict user_movie_rating = defaultdict(lambda :defaultdict(int)) # 初始化艾丽丝的评分 user_movie_rating["Alice"]["LOR1"] = 4 user_movie_rating["Alice"]["LOR2"] = 5 user_movie_rating["Alice"]["LOR3"] = 3 user_movie_rating["Alice"]["SW1"] = 5 user_movie_rating["Alice"]["SW2"] = 3 print user_movie_rating1.3.3 工作原理
user_movie_rating就是一个字典的字典,在前一节中,defaultdict将一个函数作为参数,在本例中,我们传递了一个内置的匿名函数lambda,它返回一个字典。每当一个新的键被传递到user_movie_rating中,同时也有一个新的字典被创建。我们在后续章节中会经常提及lambda函数。
通过这种方式,我们可以快速地对每个用户和电影的组合体的评分进行操作,同样地,还有许多字典的字典的用例充分说明其便利性。
总之,熟练掌握字典数据结构,能帮助你简化数据科学的程序开发任务。以后我们将看到,在机器学习中,字典被大量用来存储特征值和标签。Python的NLTK库在文本挖掘的时候也会大量地使用字典来存储特征值,详见:http://www.nltk.org/book/ch05.html。
上面链接中“使用字典映射词到特征”这一节展示了如何高效地使用字典。
1.3.4 参考资料第1章“Python在数据科学中的应用”中1.16节“使用lambda创建匿名函数”的相关内容。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- Python语言特性
- 如何用PYTHON的CGIHTTPSERVER模块模拟POST请求?
- Python 日期和时间_python 当前日期时间_python日期格式化
- python使用requests发送text/plain报文数据
- 人人学 Python,为什么拿高薪的那么少?
- Python语言学习之打印输出那些事:python输出图表和各种吊炸天的字符串或图画、版权声明(如README.md)等之详细攻略
- AI之DS/CV/NLP:Python与人工智能相关的库/框架(机器学习常用库、数据科学常用库、深度学习常用库、计算机视觉常用库、自然语言处理常用库)的简介、案例应用之详细攻略
- Python:python代码编程带你玩转双色球(了解双色球的概率逻辑)
- 100天精通Python(数据分析篇)——第75天:Pandas数据预处理之数据标准化
- Python每日一练(数据分析篇)——第32天:数据索引
- 已解决2.Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and wi
- 〖Python接口自动化测试实战篇⑧〗- 小案例 - 使用python实现接口请求 [查询天行数据]
- 爬取电商平台数据,python爬取某维商品数据
- 真香啊,一文讲透金融风控建模全流程(Python)
- Python-csvkit:强大的CSV文件命令行工具
- 没错!4 个 Python 函数就可以让你的数据框「骚气满满」!
- Python编程:paramiko模块远程登录
- Python编程:通过百度文字识别提取表格数据
- 雅虎财经数据python 网络爬虫stock股票 用 Python 通过雅虎财经获取股票数据
- centos下pip安装mysql_python
- Python-Tensorflow-过拟合优化、dropout
- python 网络框架twisted基础学习及详细讲解
- 利用python实现逻辑回归(以鸢尾花数据为例)
- 每日哲学与编程练习3——无重复数字(Python实现)
- 【Python】3.python实现图片上传到阿里云OSS
- Python数据科学pandas终极指南【看这篇文章就够了】
- Python基础数据之列表
- Python开发学习之Python和Excel的数据实现互通