非关系型数据库MongoDB与数据科学

在探讨结构化数据时,数据库是首先浮现在脑海中的词汇。数据库的种类繁多,本文将关注非关系型数据库(NoSQL)。近年来,使用NoSQL数据库存储数据已成为一种常见的方式。NoSQL数据库,也称为“非SQL”或“不仅仅是SQL”,它们以非表格格式存储数据,与关系型数据库不同。

MongoDB简介

今天,将使用MongoDB,这是一种广泛使用的NoSQL数据库产品,学习如何在MongoDB数据库中使用数据进行数据科学工作。可以在MongoDB的官方网站上了解更多关于NoSQL数据库的信息。

MongoDB Compass

在本教程中,为了简化和方便解释,将使用MongoDB数据库的官方交互式图形用户界面,即MongoDB Compass。以下是它的安装指南。安装MongoDB Compass后,将简要探索其界面。如果是第一次使用,可能不会看到任何最近的条目。连接到本地数据库时,Admin、local和config是MongoDB客户端默认存在的三个数据库。将以admin数据库为例进行演示。

Python与MongoDB

在开始使用MongoDB数据库之前,需要安装它。以下是个人工作环境的官方安装指南。安装Python 3.7或更高版本,这是使用MongoDB客户端的Python模块pymongo的链接。根据特定用例,安装数据科学库,这里将只使用Pandas来创建DataFrame。

使用pymongo模块

import pymongo # 获取本地MongoDB数据库的访问权限 databases = pymongo.MongoClient() # 获取admin数据库的访问权限 admin_db = databases.admin # 获取admin数据库中刚刚创建的'Tutorial'集合的访问权限 tutorial_collection = admin_db.Tutorial # 现在,导入的iris数据存储在这里。 # 要从集合中获取一个条目/记录/文档,可以写: tutorial_collection.find_one({}) tutorial_collection.find({}) # 注意:pymongo游标对象是可迭代的,所以将其转换为列表以查看所有值。 list(tutorial_collection.find({})) # 列表会一直持续到iris数据集的所有150个值。 import pandas as pd iris_df = pd.DataFrame(list(tutorial_collection.find({}))) iris_df # 如果不想保留某些列,可以通过两种方式清理它们: # 第一种是在从数据库检索数据到Python代码之前使用MongoDB聚合管道(本教程范围之外), # 第二种是在创建DataFrame后清理数据。 # 将通过第二种方法清理`id`列, iris_df = iris_df.drop("_id", axis=1) iris_df.head()
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:15216758379