美文网首页
PyHubWeekly | 第五期:秒级处理十亿级表格数据

PyHubWeekly | 第五期:秒级处理十亿级表格数据

作者: DevWeekly | 来源:发表于2020-03-03 09:48 被阅读0次

    本期内容

    PyHubWeekly每周定期更新,精选GitHub上优质的Python项目/小工具。

    我把PyHubWeekly托管到了Github,感兴趣的可以搜索Github项目PyHubWeekly,如果喜欢,麻烦给个Star支持一下吧~

    本期为大家推荐GitHub上4个优质的Python项目,它们分别是:

    • tushare
    • python-cheatsheet
    • vaex
    • sh
    • python-small-examples

    下面分别来介绍一下上述5个GitHub项目。

    1. tushare

    Star:8.8k

    数据作为当前很多应用场景是至关重要的一环,例如,计算机视觉、数据分析,没有数据,后续的开发工作和算法准确性就无从谈起。 我们在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除了支持数据采集,还支持清洗加工和数据存储。

    2. python-cheatsheet

    Star:10.7k

    python-cheatsheet是一个非常全面的Python手册。

    在很多系列化的教程和数据中,我们千篇一律的学习运算法、条件语句、循环语句、面向对象等。但是,对于开发过程中经常会用到的实用知识点却很少有系统的阐述。python-cheatsheet就弥补了这项空白,它很系统全面的介绍了Python实用知识点,它主要包括如下几个部分的内容,

    • 容器:列表、字典、集合等。
    • 类型:字符串、数字、日期、格式化等。
    • 语法:装饰器、类等。
    • 数据:JSON、pickle等。
    • 高级:多线程、运算法等。
    • 模块:NumPy、Logging等。
    img

    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函数一样去调用系统命令和程序。

    >>> 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仅支持Linuxosx,不支持Windows。

    5. python-small-examples

    Star:1.8k

    python-small-examples是一个可以在闲暇之余抽空看看的Python学习项目。

    python-small-examples收集了Python开发过程中遇到的坑点、小样例,其中包括Python字符串和正则、Python绘图、Python日期和文件、Web开发、数据科学、机器学习、深度学习、TensorFlow、Pytorch等。

    对于这个项目,没必要花费太多时间系统的去学习,可以利用空闲时间看一下,它里面总结了开发过程中经常用到的操作,当我们看到这些示例时会从中学习到很多教材上无法学到的妙用,或者Python中“不为人知”的冷门知识。

    img

    推荐阅读

    我建了一个QQ学习交流群,旨在“分享、讨论、学习、资源分享、就业机会、互联网内推、共同进步!”,感兴趣的可以加一下,也可以添加我的QQ~ QQ群:164660119;QQ号:498073774;公众号:【平凡而诗意】~

    相关文章

      网友评论

          本文标题:PyHubWeekly | 第五期:秒级处理十亿级表格数据

          本文链接:https://www.haomeiwen.com/subject/vjgflhtx.html