本期內容
PyHubWeekly每週定期更新,精選GitHub上優質的Python項目/小工具,本期為大家推薦GitHub上4個優質的Python項目,它們分別是:
- tushare
- python-cheatsheet
- vaex
- sh
- python-small-examples
下面分別來介紹一下上述5個GitHub項目。
1. tushare
Star:8.8k
數據作為當前很多應用場景是至關重要的一環,例如,計算機視覺、數據分析,沒有數據,後續的開發工作和算法準確性就無從談起。 我們在kaggle、ImageNet能夠找到很多開放的數據資源用於我們的開發和研究工具,但是,這些數據這些數據更過的是偏重於工業,更重要的它們都是
靜態數據,也就是說不能及時的對數據進行更新迭代。 金融是數據分析應用非常多的一個方向,也是和我們生活比較密切相關的一個方向,例如,股票等。 我個人是對金融數據分析非常感興趣,有時候就在想從哪裡可以獲取到充足的數據支撐自己的研究?tushare就提供了很好的解決方案。 tushare是實現對股票/期貨等金融數據從數據採集、清洗加工到數據存儲過程的工具,滿足金融量化分析師和學習數據分析的人在數據獲取方面的需求,它的特點是數據覆蓋範圍廣,接口調用簡單,響應快速。來看一個示例,
<code>>>> import tushare as ts
>>> ts.get_hist_data('600848')
2020-02-07 20.76 20.93 20.88 20.56 59584.18 0.07 ... 20.738 22.474 23.577 70873.17 58742.91 60007.62
2020-02-06 20.76 20.97 20.81 20.41 67450.28 0.01 ... 21.280 22.873 23.763 70166.75 60894.69 60617.59
2020-02-05 20.04 21.37 20.80 20.04 96036.71 0.83 ... 21.944 23.270 23.950 63541.08 59984.14 61566.66
2020-02-04 19.11 20.78 19.97 19.11 117212.70 -1.26 ... 22.582 23.704 24.114 56576.79 61412.18 59378.58
2020-02-03 21.23 21.23 21.23 21.23 14082.00 -2.36 ... 23.522 24.165 24.303 40371.67 54241.10 55358.40/<code>
可以看到,通過一些簡單的函數即可獲取一直股票的最新數據。
tushare除了支持數據採集,還支持清洗加工和數據存儲。
2. python-cheatsheet
Star:10.7k
python-cheatsheet是一個非常全面的Python手冊。
在很多系列化的教程和數據中,我們千篇一律的學習運算法、條件語句、循環語句、面向對象等。但是,對於開發過程中經常會用到的實用知識點卻很少有系統的闡述。python-cheatsheet就彌補了這項空白,它很系統全面的介紹了Python實用知識點,它主要包括如下幾個部分的內容,
- 容器:列表、字典、集合等。
- 類型:字符串、數字、日期、格式化等。
- 語法:裝飾器、類等。
- 數據:JSON、pickle等。
- 高級:多線程、運算法等。
- 模塊:NumPy、Logging等。
3. vaex
Star:2.8k
vaex是一款類似於Pandas的的表格數據集處理和可視化工具,但是它在大量數據方面擁有Pandas所不具備的優勢:快速。
vaex使用內存映射、零內存複製的策略可以實現每秒在超過十億個對象的N維網格數據計算平均值、和、計數、標準差等。此外,還可以使用柱狀圖、密度圖、三維圖進行可視化。
因此,它相對於其他數據處理工具具有如下幾點優勢,
- 性能表現優秀
- 高效的內存處理
- 可視化
- 用戶友好
- 支持jupyter
- 輕量化
4. sh
Star:5.2k
多進程是我們在開發過程中經常會接觸到的場景,每當希望提升項目運行效率時,多進程就是其中備選項之一。
在Python開發中,當提到多進程是都會涉及到subprocess,它是Python內置的模塊,因此,使用頻率非常高。
今天介紹的sh是Python 2.6-3.6中subprocess非常值得嘗試的替代者。
它能夠讓你向調用Python函數一樣去調用系統命令和程序。
<code>>>> from sh import ifconfig
>>> print(ifconfig("wlan0"))
wlan0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: ffff::ffff:ffff:ffff:fff/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0 GB) TX bytes:0 (0 GB)/<code>
但是,需要指出,當前sh僅支持Linux和osx,不支持Windows。
5. python-small-examples
Star:1.8k
python-small-examples是一個可以在閒暇之餘抽空看看的Python學習項目。
python-small-examples收集了Python開發過程中遇到的坑點、小樣例,其中包括Python字符串和正則、Python繪圖、Python日期和文件、Web開發、數據科學、機器學習、深度學習、TensorFlow、Pytorch等。
對於這個項目,沒必要花費太多時間系統的去學習,可以利用空閒時間看一下,它裡面總結了開發過程中經常用到的操作,當我們看到這些示例時會從中學習到很多教材上無法學到的妙用,或者Python中“不為人知”的冷門知識。
閱讀更多 Jackpop 的文章