❶ 有哪些好用的Python庫
Python作為一門膠水語言,第三方庫眾多,下面我簡單介紹幾個好用的Python庫:
tensorflow
這是谷歌非常著名的一個開源機器學習框架,在業界非常受歡迎,可以靈活、快速的構建大規模機器學習應用(如神經網路等),性能和可移植性都非常不錯,支持GPU並行計算,如果你對機器學習比較感興趣,也想深入了解一下的話,可以學習一下這個框架,非常不錯:
pandas
如果你對數據分析比較感興趣,那麼pandas就是一個非常不錯的選擇,專門為數據分析而建,內置的函數和方法可以快速處理Excel,CSV等文件,而且提供了實時分析功能,代碼量更少,使用起來也更方便,對於數據處理來說,是一個非常不錯的分析工具:
matplotlib
這是Python的一個數據可視化庫,可以快速製作我們常見的圖表,如柱狀圖、餅狀圖、散點圖等,當然,也不僅僅限於這些,還有很多,如果你想畫出更多美麗的圖表,可以考慮學習一下這個庫,非常值得學習,當然,seaborn,pyecharts等這些可視化庫也非常不錯:
tushare
如果你對金融財經比較感興趣,想快速獲取股票等行情數據,也不想編寫復雜的處理代碼,那麼tushare就是一個非常不錯的選擇,自動整合了國內大部分金融財經數據,完成了數據從採集、清洗和存儲的全過程,只需簡單的幾行代碼就可以實時快速獲取到你所想要的數據,免費且開源:
PyQt
這是Python的一個GUI開發庫,如果你想快速創建一個桌面GUI程序,想直接拖拽控制項布局界面的話,那麼PyQt就是一個非常不錯的選擇,基於Qt的QtDesigner設計工具,你可以直接拖拽Qt大量的控制項快速構建出你自己的桌面應用,簡單而又快捷:
Kivy
如果你想利用Python開發一個安卓應用,那麼kivy就是一個非常不錯的選擇,這是Python的一個開源、跨平台的GUI庫,只需要編寫一套代碼,即可運行在大部分桌面及移動平台上,包括winsows,linux,ios,android等,非常不錯:
scrapy
這是Python的一個爬蟲框架,在也就非常受歡迎,如果你想快速的定製自己的爬蟲程序,又不想重復的造輪子的話,可以學習一下這個庫,只需要添加少量的代碼,就可啟動屬於自己的一個爬蟲應用,非常方便:
django
這是一個流行的PythonWeb框架,如果你想快速構建一個自己的web應用,那麼這個框架就非常值得學習,成熟穩重,基於MVC模式,使用起來非常方便,當然,也有輕量級的web框架,如flask,tornado等,也都非常不錯:
pygame
如果你想快速開發一個小型游戲,又不想低級語言的束縛,可以考慮學習一下這個庫,非常簡單,只需要少量的代碼便可構建一個游戲應用,當然,它也是一個非常不錯的GUI庫,對於桌面開發來說,也是一個不錯的選擇:
you-get
這是Python的一個視頻、音頻下載庫,如果你想免費快速下載優派卜酷、B站、騰訊等網站的視頻,安裝這個庫後,只塵豎穗需要簡單的一行命令就可直接下載,非常方便,纖嘩而且還可以在線觀看,查看視頻文件格式及清晰度等,當然,圖片也可直接下載:
就介紹這10個不錯的Python庫吧,對於日常學習開發來說,非常不錯,當然,還有許多其他好用的Python庫,這個可以到網上搜索一下,非常多,也歡迎大家留言補充。
❷ 學python可以做什麼
1WEB開發
在國內,豆瓣一開始就使用Python作為web開發基礎語言,知乎的整個架構也是基於Python語言,這使得web開發這塊在國內發展的很不錯。
盡管目前Python並不是做Web開發的首選,但一直都佔有不可忽視的一席。Python中有各類Web框架,無論是簡單而可以自由搭配的微框架還是全功能的大型MVC框架都一應俱全,這在需要敏捷開發的Web項目中也是十分具有優勢的。廣泛使用(或曾經廣泛使用)Python提供的大型Web服務包括知乎、豆瓣、Dropbox等網站。加之Python本身的「膠水」特性,很容易實現在需要大規模性能級計算時整合其它語言,同時保留Web開發時的輕便快捷。
除此之外,Python中還有大量「開箱即用」的模塊,用於與各種其它網站的對接等相關功能。如果希望開發個微信公眾號相關功能,wechat-sdk/weixin-python等包,能夠使你幾乎完全不用管文檔中提及的各種伺服器交互細節,專注於功能實現即能完成開發。
目前,國內的Python web開發主要有兩個技術棧:
(1)Django
Django是一個高級的敏捷web開發框架,如果學會了,擼一個網站很快。當然如果純粹比擼網站的速度,基於ruby的Ruby on rails顯然更快,但是Django有一個優勢就是性能優秀,更適合國內網站的應用場景。國外的著名圖片社區Pinterest早期也是基於Django開發的,承受了用戶快速增長的沖擊。所以說如果你想快速開發一個網站,還能兼顧APP客戶端的API調用需求,Django是可以信賴的。
(2)Flask
相對於Django,Flask則是一個輕量級的web框架,Flask的最大的優勢是性能優越,適合配合手機客戶端開發後台API服務。國內基於Flask的Restful API服務這快很火,也是需求最大的。知名的比如網路、網易、小米、陌陌等等很多公司都有基於Flask的應用部署。當然,如果你想做一個傳統的web網站,還是建議使用Django,Flask的優勢是後端、API,不適合構建全功能網站。
2網路爬蟲
網路爬蟲是Python比較常用的一個場景,國際上,google在早期大量地使用Python語言作為網路爬蟲的基礎,帶動了整個Python語言的應用發展。以前國內很多人用採集器搜刮網上的內容,現在用Python收集網上的信息比以前容易很多了。
Python在這個方面有許多工具上的積累,無論是用於模擬HTTP請求的Requests、用於HTML DOM解析的PyQuery/BeautifulSoup、用於自動化分布式爬取任務的Scrapy,還是用於最簡化資料庫訪問的各種ORM,都使得Python成為數據爬取的首選語言之一。特別是,爬取後的數據分析與計算是Python最為擅長的領域,非常容易整合。目前Python比較流行的網路爬蟲框架是功能非常強大的scrapy。
3人工智慧與機器學習
人工智慧是現在非常火的一個方向,AI熱潮讓Python語言的未來充滿了無限的潛力。現在釋放出來的幾個非常有影響力的AI框架,大多是Python的實現,為什麼呢?
因為Python足夠動態、具有足夠性能,這是AI技術所需要的技術特點。比如基於Python的深度學習庫、深度學習方向、機器學習方向、自然語言處理方向的一些網站基本都是通過Python來實現的。機器學習,尤其是現在火爆的深度學習,其工具框架大都提供了Python介面。Python在科學計算領域一直有著較好的聲譽,其簡潔清晰的語法以及豐富的計算工具,深受此領域開發者喜愛。
6桌面程序
Python也可以用於桌面軟體開發(如sublime text等),甚至移動端開發(參看kivy)。Python簡潔方便,各種工具包齊全的環境,能大幅度減少開發者的負擔。著名的UI框架QT有Python語言的實現版本PyQT。Python簡單易用的特性加上QT的優雅,可以很輕松的開發界面復雜的桌面程序,並且能輕松實現跨平台特性。
7多媒體應用
可以用Python裡面的PIL、Piddle、ReportLab 等模塊對圖象、聲音、視頻、動畫等進行處理,還可以用Python生成動態圖表和統計分析圖表。另外,還可以利用PyOpenGl模塊非常快速有效的編寫出三維場景。
❸ 學python能做什麼
Python第三方模塊眾多,下面我介紹一些比較實用而又有趣的模塊,主要分為爬蟲、數據處理、可視化、機器學習、神經網路、股票財經、游戲這7個方面,主要內容如下:
1.爬蟲:
相信大部分人都用Python爬過數據,目前來說,比較流行的框架是scrapy,對爬取數據來說,簡單方便了不少,只需要自己添加少量的代碼,框架便可啟動開始爬取,當然,還有簡單地爬蟲包,像requests+BeautifulSoup,對於爬取簡單網頁來說,也足夠了:
如果你想要學好Python最好加入一個好的學習環境,可以來這個Q群,首先是629,中間是440,最後是234,這樣大家學習的話就比較方便,還能夠共同交流和分享資料
2.數據處理:
numpy,scipy,pandas這些包對於處理數據來說非常方便,線性代數、科學計算等,利用numpy處理起來非常方便,pandas提供的DataFrame類可以方便的處理各種類型的文件,像excel,csv等,是分析數據的利器:
3.可視化:
這里的包其實也挺多的,除了我們常用的matplotlib外,還有seaborn,pyecharts等,可以繪制出各種各樣類型的圖形,除了常見的線圖、餅圖和柱狀圖外,還可以繪制出地圖、詞雲圖、地理坐標系圖等,美觀大方,所需的代碼量還少,更容易上手:
4.機器學習:
說起python機器學習,大部分人都應該scikit-learn這個包,常見的機器學習演算法,像回歸、分類、聚類、降維、模型選擇等,這里都有現成的代碼可供利用,對於這機器學習方面感興趣的人來說,這是一個入門機器學習的好包:
5.神經網路:
說起神經網路,大部分人都應該會想起深度學習,對應的就會想到谷歌目前非常流行的深度學習框架—tensorflow,tesndorflow可被用於語音識別和圖像識別等眾多領域,其發展前景光明,對於這方面感興趣的科研人員來說,是一個很不錯的工具,當然,還有基於tensorflow的theano,keras等,都是學習神經網路的不錯選擇:
6.股票財經:
對於股票和財經比較感興趣的朋友來說,python也提供了現成的庫來獲取和分析股票財經數據—tushare,tushare是一個免費、開源的python財經數據介麵包,可以快速的獲取到國內大部分股票數據,對於金融分析人員來說,可以說是一個利器,降低了許多任務量:
7.游戲:
Python專門為游戲開發提供了一個平台—Pygame,對於想快速開發小型游戲的用戶來說,是一個很不錯的選擇,簡單易學、容易上手,脫離了低級語言的束縛,使用起來也挺方便的:
❹ tushare的介面怎麼樣使用
安裝TuShare
方式1:pip install tushare
方式2:訪問https://pypi.python.org/pypi/tushare/下載安裝
方式3:將源代碼下載到本地python setup.py install
升級TuShare
1、先查看本地與線上的版本版本號:
pip search tushare
2、升級TuShare:
pip install tushare --upgrade
確認安裝成功
import tushare as ts
print ts.__version__
獲取歷史交易數據
import tushare as ts
df = ts.get_hist_data(『600848』)
ts.get_hist_data(『600848』,ktype='W『) #獲取周k線數據
ts.get_hist_data('600848』,ktype='M『) #獲取月k線數據
ts.get_hist_data('600848』,ktype='5『) #獲取5分鍾k線數據
ts.get_hist_data('600848』,ktype='15『) #獲取15分鍾k線數據
ts.get_hist_data('600848』,ktype='30『) #獲取30分鍾k線數據
ts.get_hist_data('600848』,ktype='60『) #獲取60分鍾k線數據
ts.get_hist_data('sh』)#獲取上證指數k線數據,其它參數與個股一致,下同
ts.get_hist_data(『sz』)#獲取深圳成指k線數據 ts.get_hist_data(『hs300』)#獲取滬深300指數k線數據
ts.get_hist_data(『sz50』)#獲取上證50指數k線數據
ts.get_hist_data(『zxb』)#獲取中小板指數k線數據
ts.get_hist_data(『cyb』)#獲取創業板指數k線數據
Python財經數據介麵包TuShare的使用
獲取歷史分筆數據
df = ts.get_tick_data(『000756','2015-03-27』)
df.head(10)
Python財經數據介麵包TuShare的使用
獲取實時分筆數據
df = ts.get_realtime_quotes(『000581』)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值說明:
0:name,股票名字
1:open,今日開盤價
2:pre_close,昨日收盤價
3:price,當前價格
4:high,今日最高價
5:low,今日最低價
6:bid,競買價,即「買一」報價
7:ask,競賣價,即「賣一」報價
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金額(元 CNY)
10:b1_v,委買一(筆數 bid volume)
11:b1_p,委買一(價格 bid price)
12:b2_v,「買二」
13:b2_p,「買二」
14:b3_v,「買三」
15:b3_p,「買三」
16:b4_v,「買四」
17:b4_p,「買四」
18:b5_v,「買五」
19:b5_p,「買五」
20:a1_v,委賣一(筆數 ask volume)
21:a1_p,委賣一(價格 ask price)
…
30:date,日期
31:time,時間
❺ 100銀子求助如何遍歷讀取TuShare的分筆股票數據
import tushare as ts
import time
while True:
df = ts.get_realtime_quotes('000581') #Single stock symbol
print df[['code','name','price','bid','ask','volume','amount','time']]
time.sleep(2)
根據 http://tushare.org/trading.html#id6 提供的例子,你可以包裝成函數,傳入你要獲取的股票代碼,df包含30個列的內容,你可以輸出你想要的列,也可以保存到資料庫里。
tushare.org上都寫得很清楚了。
遍歷讀取無非就是
import tushare as ts
df = ts.get_tick_data('600848',date='2014-01-09')
for i in df.index:
print df.loc[i]
print df.loc[i]['price']
其中i就是序號,以i為基礎你可以獲取所有row的數據,包括具體某一行某一列。python根據坐標讀取數據有多重方法,你學明白python後,tushare用起來就方便了。
❻ 怎樣遍歷任意股票歷史數據要求使用循環。
下載個大智慧就可以了啊
❼ 股票池如何用python構建
股票池用python構建的方法是:使用第三方平台,目前可以使用的是聚寬,對比一下聚寬、優礦、大寬網(已經倒閉了),都大同小異,選哪個都一樣。
雖然這些平台都大同小異,但是代碼可不能簡單復制粘貼,因為底層函數庫是不一樣的,有可能在別的平台根本用不了某個函數,並且簡單復制到自己電腦中的python的話百分之百用不了。
代碼的思路是,每個月底進行調倉,選出市值最小的股票交易,去掉ST/*ST/停牌/漲停的股票,然後選擇最小市值的10隻,基準是創業板綜指,看看結果。
python構建數據獲取方法是:
這里使用為了接下來的操作需要將一定歷史范圍的股票數據下載下來,這里下載起始時間為20160101,截至時間為運行代碼的時間范圍的歷史日線數據。
這里以tushare為例, tushare獲取歷史數據有兩種方式。
第一種是以迭代歷史交易日的方式獲取所有歷史數據,假設獲取三年的歷史數據,一年一般220個交易日左右,那麼3年需要請求660多次左右,如果以這種方式的話,就下載數據的時間只需要1分鍾多點的樣子。
第二種是以迭代所有股票代碼的方式獲取所有歷史數據,股票數量有大概3800多個,需要請求3800多次,但是在積分有限的情況下一分鍾最多請求500次,也就意味著僅下載數據的時間至少需要大概8分鍾時間。
理論上,你獲取的歷史范圍超過17.3年,那麼使用第一種方式才比第二種方式快。
❽ tushare的介面怎麼樣使用
一、安裝TuShare
方式1:pip install tushare
方式2:訪問https://pypi.python.org/pypi/tushare/下載安裝
方式3:將源代碼下載到本地python setup.py install
二、升級TuShare
1、先查看本地與線上的版本版本號:
pip search tushare
2、升級TuShare:
pip install tushare --upgrade
確認安裝成功
import tushare as ts
print ts.__version__
import tushare as ts
df = ts.get_hist_data(『600848』)
ts.get_hist_data(『600848』,ktype='W『) #獲取周k線數據
ts.get_hist_data('600848』,ktype='M『) #獲取月k線數據
ts.get_hist_data('600848』,ktype='5『) #獲取5分鍾k線數據
ts.get_hist_data('600848』,ktype='15『) #獲取15分鍾k線數據
ts.get_hist_data('600848』,ktype='30『) #獲取30分鍾k線數據
ts.get_hist_data('600848』,ktype='60『) #獲取60分鍾k線數據
ts.get_hist_data('sh』)#獲取上證指數k線數據,其它參數與個股一致,下同
ts.get_hist_data(『sz』)#獲取深圳成指k線數據 ts.get_hist_data(『hs300』)#獲取滬深300指數k線數據
ts.get_hist_data(『sz50』)#獲取上證50指數k線數據
ts.get_hist_data(『zxb』)#獲取中小板指數k線數據
ts.get_hist_data(『cyb』)#獲取創業板指數k線數據
Python財經數據介麵包TuShare的使用
獲取歷史分筆數據
df = ts.get_tick_data(『000756','2015-03-27』)
df.head(10)
Python財經數據介麵包TuShare的使用
獲取實時分筆數據
df = ts.get_realtime_quotes(『000581』)
print df[['code','name','price','bid','ask','volume','amount','time']]
返回值說明:
0:name,股票名字
1:open,今日開盤價
2:pre_close,昨日收盤價
3:price,當前價格
4:high,今日最高價
5:low,今日最低價
6:bid,競買價,即「買一」報價
7:ask,競賣價,即「賣一」報價
8:volumn,成交量 maybe you need do volumn/100
9:amount,成交金額(元 CNY)
10:b1_v,委買一(筆數 bid volume)
11:b1_p,委買一(價格 bid price)
12:b2_v,「買二」
13:b2_p,「買二」
14:b3_v,「買三」
15:b3_p,「買三」
16:b4_v,「買四」
17:b4_p,「買四」
18:b5_v,「買五」
19:b5_p,「買五」
20:a1_v,委賣一(筆數 ask volume)
21:a1_p,委賣一(價格 ask price)
…
30:date,日期
31:time,時間
❾ 為什麼pandas有國內股票數據
都是公開發行上市的股票,當然會有的,Pandas是數據分析工具包
TuShare是國內股票數據抓取工具,除了股票的實時和歷史數據,還有基本面數據,加上自然語言處理(比如情緒分析),或者機器學習,就比較有趣了。
❿ 如何從tushare中調取十大股東數據
0. 簡介
TuShare是一個免費、開源的Python財經數據介麵包。主要實現對股票等金融數據從數據採集、清洗加工 到 數據存儲的過程,能夠為金融分析人員提供快速、整潔、和多樣的便於分析的數據,為他們在數據獲取方面極大地減輕工作量,使他們更加專注於策略和模型的研究與實現上。考慮到Python pandas包在金融量化分析中體現出的優勢,TuShare返回的絕大部分的數據格式都是pandas DataFrame類型。
1. 歷史行情
獲取個股歷史交易數據(包括均線數據),可以通過參數設置獲取日k線、周k線、月k線,以及5分鍾、15分鍾、30分鍾和60分鍾k線數據。本介面只能獲取近3年的日線數據,適合搭配均線數據進行選股和分析。
參數說明:
code:股票代碼,即6位數字代碼,或者指數代碼(sh=上證指數 sz=深圳成指 hs300=滬深300指數 sz50=上證50 zxb=中小板 cyb=創業板)
start:開始日期,格式YYYY-MM-DD
end:結束日期,格式YYYY-MM-DD
ktype:數據類型,D=日k線 W=周 M=月 5=5分鍾 15=15分鍾 30=30分鍾 60=60分鍾,默認為D
retry_count:當網路異常後重試次數,默認為3
pause:重試時停頓秒數,默認為0
返回值說明:
date:日期
open:開盤價
high:最高價
close:收盤價
low:最低價
volume:成交量
price_change:價格變動
p_change:漲跌幅
ma5:5日均價
ma10:10日均價
ma20:20日均價
v_ma5:5日均量
v_ma10:10日均量
v_ma20:20日均量
turnover:換手率[註:指數無此項]
(1) #獲取全部日k線數據(查看前11行)