DevWeekly/docs/5-pyhubweekly.md

120 lines
7.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## **本期内容**
PyHubWeekly每周定期更新精选GitHub上优质的Python项目/小工具.
如果喜欢,麻烦给个**Star**支持一下吧。此外,**欢迎大家通过提交issue来投稿和推荐自己的项目**~
本期为大家推荐GitHub上4个优质的Python项目它们分别是
- **[tushare](https://github.com/waditu/tushare)**
- **[python-cheatsheet](https://github.com/gto76/python-cheatsheet)**
- **[vaex](https://github.com/vaexio/vaex)**
- **[sh](https://github.com/amoffat/sh)**
- **[python-small-examples](https://github.com/jackzhenguo/python-small-examples)**
下面分别来介绍一下上述5个GitHub项目。
> 我建了一个QQ学习交流群旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步感兴趣的可以加一下也可以添加我的QQ~ QQ群164660119QQ号498073774公众号【平凡而诗意】~
## [1. tushare](https://github.com/waditu/tushare)
### **Star8.8k**
数据作为当前很多应用场景是至关重要的一环,例如,计算机视觉、数据分析,没有数据,后续的开发工作和算法准确性就无从谈起。 我们在kaggle、ImageNet能够找到很多开放的数据资源用于我们的开发和研究工具但是这些数据这些数据更过的是偏重于工业更重要的它们都是**静态数据**,也就是说不能及时的对数据进行更新迭代。 金融是数据分析应用非常多的一个方向,也是和我们生活比较密切相关的一个方向,例如,股票等。 我个人是对金融数据分析非常感兴趣,有时候就在想从哪里可以获取到充足的数据支撑自己的研究?[tushare](https://github.com/waditu/tushare)就提供了很好的解决方案。 tushare是实现对股票/期货等金融数据从数据采集、清洗加工到数据存储过程的工具,满足金融量化分析师和学习数据分析的人在数据获取方面的需求,它的特点是数据覆盖范围广,接口调用简单,响应快速。
来看一个示例,
```
>>> 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
```
可以看到,通过一些简单的函数即可获取一直股票的最新数据。
tushare除了支持数据采集还支持清洗加工和数据存储。
## [2. python-cheatsheet](https://github.com/gto76/python-cheatsheet)
### **Star10.7k**
[python-cheatsheet](https://github.com/gto76/python-cheatsheet)是一个非常全面的Python手册。
在很多系列化的教程和数据中,我们千篇一律的学习运算法、条件语句、循环语句、面向对象等。但是,对于开发过程中经常会用到的**实用知识点**却很少有系统的阐述。python-cheatsheet就弥补了这项空白它很系统全面的介绍了Python实用知识点它主要包括如下几个部分的内容
- **容器**:列表、字典、集合等。
- **类型**:字符串、数字、日期、格式化等。
- **语法**:装饰器、类等。
- **数据**JSON、pickle等。
- **高级**:多线程、运算法等。
- **模块**NumPy、Logging等。
![img](https://pic2.zhimg.com/v2-7e754066333c6c0e3daf7bf041170569_b.png)
## [3. vaex](https://github.com/vaexio/vaex)
**Star2.8k**
[vaex](https://github.com/vaexio/vaex)是一款类似于Pandas的的表格数据集处理和可视化工具但是它在**大量数据**方面拥有Pandas所不具备的优势**快速**。
vaex使用内存映射、零内存复制的策略可以实现每秒在超过**十亿**个对象的N维网格数据计算平均值、和、计数、标准差等。此外还可以使用柱状图、密度图、三维图进行可视化。
因此,它相对于其他数据处理工具具有如下几点优势,
- 性能表现优秀
- 高效的内存处理
- 可视化
- 用户友好
- 支持jupyter
- 轻量化
## [4. sh](https://github.com/amoffat/sh)
### **Star5.2k**
多进程是我们在开发过程中经常会接触到的场景,每当希望提升项目运行效率时,多进程就是其中备选项之一。
在Python开发中当提到多进程是都会涉及到**subprocess**它是Python内置的模块因此使用频率非常高。
今天介绍的[sh](https://github.com/amoffat/sh)是Python 2.6-3.6中subprocess非常值得尝试的替代者。
**它能够让你向调用Python函数一样去调用系统命令和程序。**
```
>>> 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)
```
但是需要指出当前sh仅支持**Linux**和**osx**不支持Windows。
## [5. python-small-examples](https://github.com/jackzhenguo/python-small-examples)
### **Star1.8k**
[python-small-examples](https://github.com/jackzhenguo/python-small-examples)是一个可以在**闲暇之余**抽空看看的Python学习项目。
python-small-examples收集了Python开发过程中遇到的坑点、小样例其中包括Python字符串和正则、Python绘图、Python日期和文件、Web开发、数据科学、机器学习、深度学习、TensorFlow、Pytorch等。
对于这个项目没必要花费太多时间系统的去学习可以利用空闲时间看一下它里面总结了开发过程中经常用到的操作当我们看到这些示例时会从中学习到很多教材上无法学到的妙用或者Python中“不为人知”的冷门知识。
![img](https://pic4.zhimg.com/v2-60adb891a9efd5f9918c53b012bf9b17_b.png)
## **推荐阅读**
- [Python参数配置库ConfigParser详解](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484889&idx=1&sn=533d1b59410f8322a0c033afb861cfe6&chksm=e94e9ad1de3913c759960ad12db322daee45d108ebac658bf374fc3dd40f6f36f2692da23e06&token=1456867850&lang=zh_CN#rd)
- [迫不及待把这款开发神器推荐给大家!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484903&idx=1&sn=59dead902c4acc16c5149e3f838aab2d&chksm=e94e9aefde3913f9dc1bd9e584f4a76543253f0bc74354cc6230f2a49a319636e010d9ebb5db&token=1456867850&lang=zh_CN#rd)
- [抛弃bash拥抱zsh](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484911&idx=1&sn=a02cb8db9508494672f86353acf48783&chksm=e94e9ae7de3913f137dda3702c314af3655c974f31ee7df7f79d7bb982f8f8d0f35adb751176&token=1456867850&lang=zh_CN#rd)
- [PyHubWeekly | 第四期:清理无效代码,给你的项目瘦瘦身吧!](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484925&idx=1&sn=3cab27e39dfd34bff4aaa9c4b197ec3f&chksm=e94e9af5de3913e3199f96fb7a4304cb865387973b7552ec4ae77f5e4cfb4131badedbd021ff&token=1456867850&lang=zh_CN#rd)
- [实用工具 | 一款丰富强大的Python绘图工具](https://mp.weixin.qq.com/s?__biz=MzI0NTM1MzA2Mw==&mid=2247484941&idx=1&sn=f5723139558043be73491df76a94da08&chksm=e94e9905de3910134d3afe346678d131fa9f01633879f58880c2e2ecfa1d8b66edaf44886ba3&token=1456867850&lang=zh_CN#rd)