美文网首页大数据 爬虫Python AI SqlPythonEco
6个鲜为人知的Python数据分析库

6个鲜为人知的Python数据分析库

作者: QingLeiLi | 来源:发表于2018-05-30 20:15 被阅读2次

    Python给数据开发者提供了一个伟大的环境和丰富的库。在处理数据和可视化数据的过程中,无论是新手还是专家,都能够从Python那不计其数的库中获得帮助。一些库非常有名,大多数开发者都会使用它们,如Pandas, Numpy, Scikit-learn, NTLK等等。还有一些库虽然不知名,但在我看来非常有用。这篇文章我们就介绍6个这样的库。也许你可能听说过其中的某个库,但我还是希望这篇文章能够对你有所助益。

    mrjob

    mrjob是一个当你用Python来写MapReduce任务时非常有用的库。它允许你实现自己的 Mapper 和 Reducer 。在本地环境运行/测试你的MapReduce任务,然后部署到EMR或者你自己的MapReduce集群。它的安装极其简单,pip install mrjob 就可以了。mrjob是由Yelp安装的,并且每天都有数千的下载。Github上面有大量的文档,让用户可以快速启动自己的项目。

    Github Page: https://github.com/Yelp/mrjob
    Github Project: https://pythonhosted.org/mrjob/

    delorean

    用Python处理时间有点痛苦。如果你用Python的标准时间库datetime,并且处理过时区,你会感到绝望。delorean提供了一个相比于datetime和pytz的更好的抽象,让你处理时间更容易。它有很多有用的处理时区的特性,标准化时区或者从一个时区改变到另外一个时区。这个项目由Mahdi Yusuf维护,并且项目网站上也有丰富的文档。

    Github: https://github.com/myusuf3

    natsort

    默认sorted方法已经足够高效,并且能够满足你大多数时候的需求。但是如果你需要去排序一个像['a2', 'a9', 'a1', 'a4', 'a10']这样的列表,你就需要自己写排序算法或者求助于外部的软件包了。谢天谢地,natsort就是为此准备的。它帮您排序包含了数字的字符串列表。通常的Python排序都是按照字典顺序排序,但这可能不是你想要的。natsort提供了方法natsorted,让你能够像上面要求的那样排序。同时,你也可以在排序时混合匹配整数、浮点型、和字符串。官方的项目主页有更多的使用案例和文档。也许这个使用场景比较特殊,不过当你需要时它真的很有用。

    https://pypi.python.org/pypi/natsort

    tinydb

    你运行程序时并不总是需要一个大的多节点数据库。tinydb是一个小型的文档数据库,它允许你在本地文件中插入JSON数据并查询它。它只有1200多行代码,并且配有简单干净的文档和API。虽然它没有像数据索引或者多线程这样的特性,但是如果你只是在小程序中运行一下,觉得配置数据库都过于麻烦的时候,它刚好可以派上用场。他同样可以pip安装,pip install tinydb。项目文档在下面地址:

    http://tinydb.readthedocs.org/en/latest/getting-started.html
    README: https://github.com/mapio/prettytable-mirror/blob/master/README.md

    prettytable

    prettytable让你能够在终端中画出漂亮的ascii表格,它支持多种数据源。当你想在终端中用表格的形式展现数据的时候,它尤为有用。它支持一些选项让你能够选择哪些列需要展示、给列进行排序、在列中向左或者向右对齐、以MS-DOS兼容的模式打印,或者输出html表格。PrettyTable可以使用现有的CSV或者数据库游标作为数据源。我用这个库很多年了,我太喜欢它了,所以我还用发布了一个nodejs版本的prettytable。它的Python源代码在

    https://code.google.com/archive/p/prettytable/

    vincent

    Vincent是一个很酷的可视化工具,它以Python数据结构作为数据源,然后把它翻译成Vega可视化语法,并且能够运行在d3js上。这允许你创建漂亮的3D可视化数据来展示你的Python脚本获取到的数据。Vincent底层使用Pandas的dataframes,并且支持大量的展现形式----条形、线形、离散点、区域形、堆条形、分组条形、饼形、圈形、地图形等等。API简单并且能够配合数据分析工具。Vincent允许你制作漂亮的iPython notebooks。

    Github Page: https://github.com/wrobstory/vincent
    文档:https://vincent.readthedocs.org/en/latest/

    英文原味:http://jyotiska.github.io/blog/posts/python_libraries.html
    译者:诗书塞外

    相关文章

      网友评论

        本文标题:6个鲜为人知的Python数据分析库

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