PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具.
如果喜欢,麻烦给个Star支持一下吧。此外,欢迎大家通过提交issue来投稿和推荐自己的项目~
本期为大家推荐GitHub上4个优质的Python项目,它们分别是:
下面分别来介绍一下上述5个GitHub项目。
我建了一个QQ学习交流群,旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步!”,感兴趣的可以加一下,也可以添加我的QQ~ QQ群:164660119;QQ号:498073774;公众号:【平凡而诗意】~
数据作为当前很多应用场景是至关重要的一环,例如,计算机视觉、数据分析,没有数据,后续的开发工作和算法准确性就无从谈起。 我们在kaggle、ImageNet能够找到很多开放的数据资源用于我们的开发和研究工具,但是,这些数据这些数据更过的是偏重于工业,更重要的它们都是静态数据,也就是说不能及时的对数据进行更新迭代。 金融是数据分析应用非常多的一个方向,也是和我们生活比较密切相关的一个方向,例如,股票等。 我个人是对金融数据分析非常感兴趣,有时候就在想从哪里可以获取到充足的数据支撑自己的研究?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除了支持数据采集,还支持清洗加工和数据存储。
python-cheatsheet是一个非常全面的Python手册。
在很多系列化的教程和数据中,我们千篇一律的学习运算法、条件语句、循环语句、面向对象等。但是,对于开发过程中经常会用到的实用知识点却很少有系统的阐述。python-cheatsheet就弥补了这项空白,它很系统全面的介绍了Python实用知识点,它主要包括如下几个部分的内容,
- 容器:列表、字典、集合等。
- 类型:字符串、数字、日期、格式化等。
- 语法:装饰器、类等。
- 数据:JSON、pickle等。
- 高级:多线程、运算法等。
- 模块:NumPy、Logging等。
Star:2.8k
vaex是一款类似于Pandas的的表格数据集处理和可视化工具,但是它在大量数据方面拥有Pandas所不具备的优势:快速。
vaex使用内存映射、零内存复制的策略可以实现每秒在超过十亿个对象的N维网格数据计算平均值、和、计数、标准差等。此外,还可以使用柱状图、密度图、三维图进行可视化。
因此,它相对于其他数据处理工具具有如下几点优势,
- 性能表现优秀
- 高效的内存处理
- 可视化
- 用户友好
- 支持jupyter
- 轻量化
多进程是我们在开发过程中经常会接触到的场景,每当希望提升项目运行效率时,多进程就是其中备选项之一。
在Python开发中,当提到多进程是都会涉及到subprocess,它是Python内置的模块,因此,使用频率非常高。
今天介绍的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。
python-small-examples是一个可以在闲暇之余抽空看看的Python学习项目。
python-small-examples收集了Python开发过程中遇到的坑点、小样例,其中包括Python字符串和正则、Python绘图、Python日期和文件、Web开发、数据科学、机器学习、深度学习、TensorFlow、Pytorch等。
对于这个项目,没必要花费太多时间系统的去学习,可以利用空闲时间看一下,它里面总结了开发过程中经常用到的操作,当我们看到这些示例时会从中学习到很多教材上无法学到的妙用,或者Python中“不为人知”的冷门知识。