博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Pandas中直接加载MongoDB的数据
阅读量:5136 次
发布时间:2019-06-13

本文共 1437 字,大约阅读时间需要 4 分钟。

在使用Pandas进行数据处理的时候,我们通常从CSV或EXCEL中导入数据,但有的时候数据都存在数据库内,我们并没有现成的数据文件,这时候可以通过Pymongo这个库,从mongoDB中读取数据,然后载入到Pandas中,只需要简单的三步。

第一步,导入相关的模块: 

import pymongoimport 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 pdfrom 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 MongoDB    db = _connect_mongo(host=host, port=port, username=username, password=password, db=db)    # Make a query to the specific DB and Collection    cursor = db[collection].find(query)    # Expand the cursor and construct the DataFrame    df =  pd.DataFrame(list(cursor))    # Delete the _id    if no_id:        del df['_id']    return df

  

 

转载于:https://www.cnblogs.com/snaildev/p/8907952.html

你可能感兴趣的文章
关于mysql中GROUP_CONCAT函数的使用
查看>>
OD使用教程20 - 调试篇20
查看>>
Java虚拟机(JVM)默认字符集详解
查看>>
Java Servlet 过滤器与 springmvc 拦截器的区别?
查看>>
(tmp >> 8) & 0xff;
查看>>
linux命令之ifconfig详细解释
查看>>
NAT地址转换
查看>>
Nhibernate 过长的字符串报错 dehydration property
查看>>
Deque - leetcode 【双端队列】
查看>>
gulp插件gulp-ruby-sass和livereload插件
查看>>
免费的大数据学习资料,这一份就足够
查看>>
clientWidth、clientHeight、offsetWidth、offsetHeight以及scrollWidth、scrollHeight
查看>>
企业级应用与互联网应用的区别
查看>>
itext jsp页面打印
查看>>
Perl正则表达式匹配
查看>>
DB Change
查看>>
nginx --rhel6.5
查看>>
Eclipse Python插件 PyDev
查看>>
selenium+python3模拟键盘实现粘贴、复制
查看>>
第一篇博客
查看>>