Mongdb讀取股票數(shù)據(jù)到Pandas分析
前言
接上一步將股票歷史數(shù)據(jù)存儲(chǔ)到Mongodb之后,接下來(lái)這部就是讀取數(shù)據(jù)并進(jìn)行分析,實(shí)現(xiàn)自己的想法。這篇小文章就結(jié)合自己的認(rèn)識(shí)來(lái)比較詳細(xì)的分析一下讀取步驟和心得。
數(shù)據(jù)讀取
import 三個(gè)庫(kù)import pandas as pd, import numpy as np, from pymongo import MongoClient
鏈接數(shù)據(jù)庫(kù):conn=MongoClient("localhost",27017), db=conn['test'], stockdb=db["stock_price"]
因?yàn)橹拔掖鎯?chǔ)是通過_id=code,所以查找的時(shí)候只要寫cursor=stockdb.find({"__id":"*stock code you want*"})這樣就可以把一只股票所有的歷史數(shù)據(jù)都查到。
用dataframe讀取數(shù)據(jù):cursor查到的是多個(gè)object,要通過list命令才能寫入dataframe,data=pd.DataFrame(list(cursor))
得到如下圖結(jié)構(gòu)的data,
我們所需的是第一列的數(shù)據(jù),因此加一句data= data["SH600000"][0]
又得到一個(gè)字典類型的數(shù)據(jù),所以在做一次dataframe格式化,就可以得到下圖的數(shù)據(jù)。
做一下轉(zhuǎn)置data1.T就可以得到按日期索引的dataframe格式化數(shù)據(jù)。
接下去就可以選擇自己想要的數(shù)據(jù)進(jìn)行進(jìn)一步分析了。
后記:
? ? ? ? 從mongodb讀取dataframe數(shù)據(jù)之后,就可以進(jìn)行很多其他操作和分析,當(dāng)然還要對(duì)數(shù)據(jù)做一下其他的處理,比如要畫candle圖的話要么把每一列都獨(dú)立取出來(lái),要么把一天的全部數(shù)據(jù)寫在一個(gè)tuple里面。下一期,我會(huì)分享怎么用這些數(shù)據(jù)畫k線圖和量柱。
版權(quán)所有,謝絕轉(zhuǎn)載。