首页 电脑 电脑学堂 查看内容

7 款 Python 可视化工具对比

2015-12-3 10:23 2056 0

摘要: Python 的科学栈相当成熟,各种应用场景都有相关的模块,包括机器学习和数据分析。数据可视化是发现数据和展示结果的重要一环,只不过过去以来,相对于 R 这样的工具,发展还是落后一些。幸运的是,过去几年出现了很 ...
关键词: nbsp 数据 可视化 NaN Moresby airports Pacific airline Port pandas

Python 的科学栈相当成熟,各种应用场景都有相关的模块,包括机器学习和数据分析。数据可视化是发现数据和展示结果的重要一环,只不过过去以来,相对于 R 这样的工具,发展还是落后一些。

幸运的是,过去几年出现了很多新的Python数据可视化库,弥补了一些这方面的差距。matplotlib 已经成为事实上的数据可视化方面最主要的库,此外还有很多其他库,例如vispy,bokeh, seaborn,  pyga, folium 和 networkx,这些库有些是构建在 matplotlib 之上,还有些有其他一些功能。

本文会基于一份真实的数据,使用这些库来对数据进行可视化。通过这些对比,我们期望了解每个库所适用的范围,以及如何更好的利用整个 Python 的数据可视化的生态系统。

我们在 Dataquest 建了一个交互课程,教你如何使用 Python 的数据可视化工具。如果你打算深入学习,可以点这里

探索数据集

在我们探讨数据的可视化之前,让我们先来快速的浏览一下我们将要处理的数据集。我们将要使用的数据来自 openlights。我们将要使用航线数据集、机场数据集、航空公司数据集。其中,路径数据的每一行对应的是两个机场之间的飞行路径;机场数据的每一行对应的是世界上的某一个机场,并且给出了相关信息;航空公司的数据的每一行给出的是每一个航空公司。

首先我们先读取数据:

# Import the pandas library.
import pandas
# Read in the airports data.
airports = pandas.read_csv("airports.csv", header=None, dtype=str)
airports.columns = ["id", "name", "city", "country", "code", "icao", "latitude", "longitude", "altitude", "offset", "dst", "timezone"]
# Read in the airlines data.
airlines = pandas.read_csv("airlines.csv", header=None, dtype=str)
airlines.columns = ["id", "name", "alias", "iata", "icao", "callsign", "country", "active"]
# Read in the routes data.
routes = pandas.read_csv("routes.csv", header=None, dtype=str)
routes.columns = ["airline", "airline_id", "source", "source_id", "dest", "dest_id", "codeshare", "stops", "equipment"]

这些数据没有列的首选项,因此我们通过赋值 column 属性来添加列的首选项。我们想要将每一列作为字符串进行读取,因为这样做可以简化后续以行 id 为匹配,对不同的数据框架进行比较的步骤。我们在读取数据时设置了 dtype 属性值达到这一目的。

我们可以快速浏览一下每一个数据集的数据框架。

airports.head()
                id                name                city                country                code                icao                latitude                longitude                altitude                offset                dst                timezone
                0                1                Goroka                Goroka                Papua New Guinea                GKA                AYGA                -6.081689                145.391881                5282                10                U                Pacific/Port_Moresby
                1                2                Madang                Madang                Papua New Guinea                MAG                AYMD                -5.207083                145.788700                20                10                U                Pacific/Port_Moresby
                2                3                Mount Hagen                Mount Hagen                Papua New Guinea                HGU                AYMH                -5.826789                144.295861                5388                10                U                Pacific/Port_Moresby
                3                4                Nadzab                Nadzab                Papua New Guinea                LAE                AYNZ                -6.569828                146.726242                239                10                U                Pacific/Port_Moresby
                4                5                Port Moresby Jacksons Intl                Port Moresby                Papua New Guinea                POM                AYPY                -9.443383                147.220050                146                10                U                Pacific/Port_Moresby
airlines.head()
                id                name                alias                iata                icao                callsign                country                active
                0                1                Private flight                /N                -                NaN                NaN                NaN                Y
                1                2                135 Airways                /N                NaN                GNL                GENERAL                United States                N
                2                3                1Time Airline                /N                1T                RNX                NEXTIME                South Africa                Y
                3                4                2 Sqn No 1 Elementary Flying Training School                /N                NaN                WYT                NaN                United Kingdom                N
                4                5                213 Flight Unit                /N                NaN                TFU                NaN                Russia                N
routes.head()
                airline                airline_id                source                source_id                dest                dest_id                codeshare                stops                equipment
                0                2B                410                AER                2965                KZN                2990                NaN                0                CR2
                1                2B                410                ASF                2966                KZN                2990                NaN                0                CR2
                2                2B                410                ASF                2966                MRV                2962                NaN                0                CR2
                3                2B                410                CEK                2968                KZN                2990                NaN                0                CR2
                4                2B                410                CEK                2968                OVB 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除
1

路过

雷人

握手

鲜花

鸡蛋

刚表态过的朋友 (1 人)

  • 路过

    匿名

最新评论