《Python数据科学指南》——1.3 使用字典的字典

简介:

本节书摘来自异步社区《Python数据科学指南》一书中的第1章,第1.3节,作者[印度] Gopi Subramanian ,方延风 刘丹 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.3 使用字典的字典

我们之前提到,为了完成目标,你得创造性地应用各类数据结构,这样才能发挥它们的威力。接下来,我们通过一个实例来帮助理解“字典的字典”。

1.3.1 准备工作

请看表1-1。


1e5e43187d8ad9905e11faab1d9c7ae501f94c29

第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_rating

1.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创建匿名函数”的相关内容。

相关文章
|
9月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
499 2
|
10月前
|
存储 JSON 数据管理
Python字典:高效数据管理的瑞士军刀
Python字典基于哈希表实现,提供接近O(1)的高效查找,支持增删改查、遍历、合并等丰富操作,广泛应用于计数、缓存、配置管理及JSON处理。其灵活性与性能使其成为数据处理的核心工具。
778 0
|
机器学习/深度学习 数据可视化 数据处理
从基础到进阶:探索Python在数据科学中的应用
【10月更文挑战第18天】从基础到进阶:探索Python在数据科学中的应用
304 1
|
机器学习/深度学习 数据采集 数据可视化
Python 数据分析:从零开始构建你的数据科学项目
【10月更文挑战第9天】Python 数据分析:从零开始构建你的数据科学项目
383 2
|
10月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
332 0
|
机器学习/深度学习 数据可视化 TensorFlow
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
1195 1
|
机器学习/深度学习 数据可视化 算法
Python 高级编程与实战:深入理解数据科学与机器学习
在前几篇文章中,我们探讨了 Python 的基础语法、面向对象编程、函数式编程、元编程、性能优化和调试技巧。本文将深入探讨 Python 在数据科学和机器学习中的应用,并通过实战项目帮助你掌握这些技术。
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
775 2
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
408 1

推荐镜像

更多