【每天幾分鐘,從零入門python編程的世界!】
上節課我們學習了導入外部文件數據並繪圖。
這節課我們學習通過第三方接口獲得數據並導入Python進行繪圖。
我們的數據接口使用Tushare,Tushare是一個免費、開源的python財經數據接口包。Tushare的網址是:http://tushare.org/。
我們需要先下載安裝Tushare。
安裝選擇方式1更方便,我們在Git bash中輸入pip install tushare,就可以下載安裝好。pip是一個工具,在Python3中是自帶的。
tushare安裝成功後,我們打開Spyder,引入tushare進行數據測試,代碼如下:
代碼說明:
get_hist_data是獲取tushare的歷史數據。
get_hist_data的第一個參數000001是股票代碼,
get_hist_data的第二個參數start是開始日期,
get_hist_data的第三個參數end是結束日期。
最後列印出000001這個股票的歷史數據。
注意:
輸入以上代碼測試時,有可能會出現錯誤提示:
AttributeError:module 'tushare' has no attribute 'get hist data'
意思是「tushare這個模塊沒有『get_hist_data』屬性」。
出現這個錯誤的可能原因是:
tushare這個包依賴於lxml、pandas、requests和bs4這4個包,必須先安裝這4個包後,再安裝tushare,程序才能正常運行。
我們在Git bash中依次輸入命令以下5個命令:
pip install lxml
pip install pandas
pip install requests
pip install bs4
pip install tushare
完成tushare的安裝,然後再在Spyder中測試引入tushare是否報錯,如果還報錯,可以找到測試代碼運行時保存的文件,把它們都刪除,然後重新運行,應該就好了。本人是這樣解決這個報錯問題的。
當測試數據運行成功,結果如下:
由於數據很長,我只截取一部分。我們發現這個數據有個問題,就是時間排序,最近的時間排在最前面,而離現在越遠的時間排在最後面。正常應該是從以前到最近的順序進行排序。
那麼我們進行代碼修改如下:
代碼說明:
sort_index(ascending=True)是把數據的索引按照升序排列,因為剛開始我們看到是按降序排列的。
代碼運行結果數據列印如下:
圖形繪製如下:
以上就是從第三方接口獲取數據並進行繪圖的過程。
我是時問新,歡迎關注我。跟我一起從零開始學習Python,每天花一點時間,開啟python編程新世界的大門,領略新的風光,讓人生多一種可能!