在使用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的数据相关推荐

  1. 一个简单的页面加载管理类(包含加载中,加载失败,数据为空,加载成功)

    在最近公布的比赛框架中,发现了页面加载管理类,觉得挺有用的,所以做个简单的笔记. 什么是页面加载管理类呢?(大佬可直接跳过翻看实现过程) 如果能有这个问题,那么很好,哈哈哈,你和我一样,刚开始都挺疑惑 ...

  2. 在奥维中如何加载星图地球数据云的地图?

    图源多.数据时效性高.数据精度高等方面的优势,使得星图地球数据云已经成为了国产在线地图的优秀选手. 对于从事数字地球相关开发的小伙伴们来说,如何成功调用在线地图才是真正关心的问题.本篇就简单讲解下奥维 ...

  3. Node.js项目中动态加载环境变量配置

    NODE_MODULES:项目中动态加载环境变量配置 开始 在平时的 Node.js 项目开发中,我们需要在项目中添加各种各样的配置:服务端口.服务地址.图片上传.数据库.Redis 等等. 通常情况 ...

  4. html页面判断其他div为空,将外部html加载到div中 - 页面加载然后变为空白

    我确信这将会变成一件愚蠢的事情,但是自从我成为JavaScript noob以来,这里就变成了一件愚蠢的事情.将外部html加载到div中 - 页面加载然后变为空白 我想外部HTML内容加载到我的索引 ...

  5. @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值

    @PropertySource读取外部配置文件中的k-v保存到运行的环境变量中,加载完微博的配置文件以后使用${}取配置文件中的键值 该注解value={},可以使用String数组形式,读取多个配置 ...

  6. JDBC中驱动加载的过程分析

    JDBC中驱动加载的过程分析 作者:kenty  来源:博客园  发布时间:2007-08-20 15:01  阅读:1100 次  原文链接   [收藏]    本篇从java.sql.Driver ...

  7. Win8开发中如何加载字符串资源(C#)

    Win8开发中如何加载字符串资源(C#) 你可以从资源文件或库等对象中加载字符串资源. 创建资源文件的方法: 在资源项目或库.控件.软件开发包中创建一个Strings文件夹在文件夹,然后在他的下面在创 ...

  8. OS开发UI篇—在UItableview中实现加载更多功能

    一.实现效果 点击加载更多按钮,出现一个加载图示,三秒钟后添加两条新的数据.                      二.实现代码和说明 当在页面(视图部分)点击加载更多按钮的时候,主页面(主控制器 ...

  9. 关于WordPress中字体加载慢的问题解决方案(转)

    2016-04-15 最近发现Wordpress有时候加载的特别慢,于是就想办法找了下原因.之前听网上说是因为wordpress用的是Google的字体库,而且是每次都要加载,导致访问慢的,于是当时装 ...

最新文章

  1. Go: 分布式学习利器(3) -- Go的数据类型和运算符
  2. madplay播放器移植
  3. 开发一次、多端覆盖的开源统一框架
  4. jconsole工具监控java运行情况
  5. oracle数据库怎么删除数据库,oracle数据库如何删除 oracle数据库删除方法
  6. go 中gcc 编译问题(gcc.exe fatal error no input files compilation terminated)
  7. leetcode - 983. 最低票价
  8. Vue.js-资料-组件化思想 —上
  9. 安装scrapy报错
  10. Java基础篇:如何使用continue语句
  11. 2018 中国短视频开发者创意大赛震撼来袭,万元现金大奖邀你来战!
  12. html5shiv不起作用,HTML5shiv不会对IE8
  13. vr全景接口_制作面向业务的VR接口
  14. html5霓虹效果代码,HTML5 canvas蜂巢式彩色霓虹背景效果
  15. 深入浅出Apache DolphinScheduler
  16. 如何用python画爱心?
  17. (root用户)bash: ./xx: Permission denied解决方法
  18. 中外历史纲要(上)第一单元梳理(部分)
  19. git rebase(变基)操作演示
  20. 【动态规划】prob

热门文章

  1. 自定义键盘组件_一文读懂!iOS系统组件的设计规范全解!
  2. java 知识积累_java学习知识积累-spring常用注解
  3. Qt linux双屏,qt5 多屏显示
  4. Android系统使用感受——记录我的三星GT-S5830
  5. PHP经典面试题汇总(续)
  6. Forget Yourself
  7. 基于JSP的数据库增删改查实现
  8. 2019-12-11 转载TCP/IP编程常用C语言头文件
  9. signature=fc89d4352b6699754c14ce282ec75426,Broken chiral symmetry on a null plane
  10. mysql 1690_mysql error BIGINT UNSIGNED value is out of range in 解决办法