在Pandas中直接加载MongoDB的数据
在使用Pandas进行数据处理的时候,我们通常从CSV或EXCEL中导入数据,但有的时候数据都存在数据库内,我们并没有现成的数据文件,这时候可以通过Pymongo这个库,从mongoDB中读取数据,然后载入到Pandas中,只需要简单的三步。
第一步,导入相关的模块:
import pymongo
import pandas as pd
第二步,设置MongoDB连接信息:
client = pymongo.MongoClient('localhost',27017)
db = client['Lottery']
pk10 = db['Pk10']
第三步,加载数据到Pandas中:
data = pd.DataFrame(list(pk10.find()))
删除mongodb中的_id字段
del data['_id']
选择需要显示的字段
data = data[['date','num1','num10']]
print(data)
这样就可以轻松地从MongoDB中读取数据到Pandas中进行数据分析了。
stackoverflow
import pandas as pd
from pymongo import MongoClientdef _connect_mongo(host, port, username, password, db):""" A util for making a connection to mongo """if username and password:mongo_uri = 'mongodb://%s:%s@%s:%s/%s' % (username, password, host, port, db)conn = MongoClient(mongo_uri)else:conn = MongoClient(host, port)return conn[db]def read_mongo(db, collection, query={}, host='localhost', port=27017, username=None, password=None, no_id=True):""" Read from Mongo and Store into DataFrame """# Connect to MongoDBdb = _connect_mongo(host=host, port=port, username=username, password=password, db=db)# Make a query to the specific DB and Collectioncursor = db[collection].find(query)# Expand the cursor and construct the DataFramedf = pd.DataFrame(list(cursor))# Delete the _idif no_id:del df['_id']return df
转载于:https://www.cnblogs.com/snaildev/p/8907952.html
在Pandas中直接加载MongoDB的数据相关推荐
- 一个简单的页面加载管理类(包含加载中,加载失败,数据为空,加载成功)
在最近公布的比赛框架中,发现了页面加载管理类,觉得挺有用的,所以做个简单的笔记. 什么是页面加载管理类呢?(大佬可直接跳过翻看实现过程) 如果能有这个问题,那么很好,哈哈哈,你和我一样,刚开始都挺疑惑 ...
- 在奥维中如何加载星图地球数据云的地图?
图源多.数据时效性高.数据精度高等方面的优势,使得星图地球数据云已经成为了国产在线地图的优秀选手. 对于从事数字地球相关开发的小伙伴们来说,如何成功调用在线地图才是真正关心的问题.本篇就简单讲解下奥维 ...
- Node.js项目中动态加载环境变量配置
NODE_MODULES:项目中动态加载环境变量配置 开始 在平时的 Node.js 项目开发中,我们需要在项目中添加各种各样的配置:服务端口.服务地址.图片上传.数据库.Redis 等等. 通常情况 ...
- html页面判断其他div为空,将外部html加载到div中 - 页面加载然后变为空白
我确信这将会变成一件愚蠢的事情,但是自从我成为JavaScript noob以来,这里就变成了一件愚蠢的事情.将外部html加载到div中 - 页面加载然后变为空白 我想外部HTML内容加载到我的索引 ...
- @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值
@PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值 该注解value={},可以使用String数组形式,读取多个配置 ...
- JDBC中驱动加载的过程分析
JDBC中驱动加载的过程分析 作者:kenty 来源:博客园 发布时间:2007-08-20 15:01 阅读:1100 次 原文链接 [收藏] 本篇从java.sql.Driver ...
- Win8开发中如何加载字符串资源(C#)
Win8开发中如何加载字符串资源(C#) 你可以从资源文件或库等对象中加载字符串资源. 创建资源文件的方法: 在资源项目或库.控件.软件开发包中创建一个Strings文件夹在文件夹,然后在他的下面在创 ...
- OS开发UI篇—在UItableview中实现加载更多功能
一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据. 二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...
- 关于WordPress中字体加载慢的问题解决方案(转)
2016-04-15 最近发现Wordpress有时候加载的特别慢,于是就想办法找了下原因.之前听网上说是因为wordpress用的是Google的字体库,而且是每次都要加载,导致访问慢的,于是当时装 ...
最新文章
- Go: 分布式学习利器(3) -- Go的数据类型和运算符
- madplay播放器移植
- 开发一次、多端覆盖的开源统一框架
- jconsole工具监控java运行情况
- oracle数据库怎么删除数据库,oracle数据库如何删除 oracle数据库删除方法
- go 中gcc 编译问题(gcc.exe fatal error no input files compilation terminated)
- leetcode - 983. 最低票价
- Vue.js-资料-组件化思想 —上
- 安装scrapy报错
- Java基础篇:如何使用continue语句
- 2018 中国短视频开发者创意大赛震撼来袭,万元现金大奖邀你来战!
- html5shiv不起作用,HTML5shiv不会对IE8
- vr全景接口_制作面向业务的VR接口
- html5霓虹效果代码,HTML5 canvas蜂巢式彩色霓虹背景效果
- 深入浅出Apache DolphinScheduler
- 如何用python画爱心?
- (root用户)bash: ./xx: Permission denied解决方法
- 中外历史纲要(上)第一单元梳理(部分)
- git rebase(变基)操作演示
- 【动态规划】prob
热门文章
- 自定义键盘组件_一文读懂!iOS系统组件的设计规范全解!
- java 知识积累_java学习知识积累-spring常用注解
- Qt linux双屏,qt5 多屏显示
- Android系统使用感受——记录我的三星GT-S5830
- PHP经典面试题汇总(续)
- Forget Yourself
- 基于JSP的数据库增删改查实现
- 2019-12-11 转载TCP/IP编程常用C语言头文件
- signature=fc89d4352b6699754c14ce282ec75426,Broken chiral symmetry on a null plane
- mysql 1690_mysql error BIGINT UNSIGNED value is out of range in 解决办法