初心者のための Python データ可視化

公開: 2021-06-07

データの視覚化は、データを分析し、データをより明確にし、誰もが理解しやすくする上で重要な役割を果たします。 Python などのデータ視覚化ツールを使用した情報の視覚的表現は、他の方法では決して発見できなかった傾向、パターン、および相関関係を識別するのに役立ちます。また、アメリカのコンピューター科学者であるベン シュナイダーマンが言うように、「視覚化は、あなたが知らなかった質問への答えを与えてくれます。持っていました''。

このブログでは、Python でのデータ ビジュアライゼーションとは何か、Python のビジュアライゼーション ライブラリを使用して Python でデータをビジュアライゼーションする方法について説明し、Python ビジュアライゼーションの例をいくつか紹介して、データ ビジュアライゼーションの力と Python がどのように役立つかをよりよく理解できるようにします。それを利用しています。

Python のビジュアライゼーションとは?

Python は汎用プログラミング言語であり、高レベルのデータ構造、動的 typic および動的バインディング、その他さまざまな機能を備えているため、複雑なアプリケーションの開発に役立ちます。

過去 20 年間でデータ ビジュアライゼーションの重要性が増したため、Python は単なるプログラミング言語以上のものになりました。 これは、データ サイエンスで最も使用されるプログラミング言語に成長し、データを視覚化し、生データだけでは提供できない洞察を得るための無数のオプションを開発者に提供しています。

簡単に言うと、Python を使用してデータ ビジュアライゼーションを作成すると、ユーザーはミリ秒単位でデータの洞察を得ることができます。これは、表形式で表されたフォーマットされていないデータの大規模なデータ セットを分析して理解しようとするのに比べて、数秒または数分でさえあります。 さらに良いことに、Python のデータ ビジュアライゼーション ツールを使用すると、色、傾向線、マーカー、注釈、およびビジュアライゼーションの閲覧者がデータのストーリーを即座に理解するのに役立つその他の多くの視覚的な合図を追加できます。

スリングショットを試す

Python 可視化ライブラリ

ビジネス チャート、科学チャート、財務チャート、地理空間マッピングなどを提供する、Python 用のオープン ソースおよび商用の視覚化ライブラリが多数あります。 開発者は、これらのライブラリを Python プロジェクトに簡単にインポートでき、所有するデータの種類に基づいて、数行のコードでビジュアライゼーションをレンダリングできます。

これらは、最も人気のある 5 つの Python データ視覚化ライブラリです。

  • Matplotlib – Matplotlib は Python の最初のデータ視覚化ライブラリであり、他のすべての Python データ視覚化ライブラリが構築された基盤ライブラリです。 これは最もよく使用される 2D プロット ライブラリです。 Matplotlib は、プロット、棒グラフ、円グラフ、ヒストグラム、パワー スペクトル、散布図、エラー チャート、およびその他の種類のデータ視覚化を生成できます。 ライブラリにより、視覚化を完全に制御できます。 これは非常に強力ですが、非常に複雑でもあります。何でも作成できますが、合理的なグラフを作成するには多くの作業と労力が必要です。
  • Seaborn – Matplotlib に基づく Seaborn は、最も視覚的に魅力的な Python データの視覚化を作成することで知られています。 このライブラリは、Matplotlib と比較して少ないコードで、魅力的で有益な統計グラフィックを描画するための高レベルのインターフェイスを提供します。
  • ggplot – このライブラリは、R プログラミング言語での ggplot2 データ視覚化の Python 実装です。 ggplot は Pandas ライブラリと緊密に統合されており、変数を美学にマッピングする方法と使用するプリミティブを指定した後、最適な形式の機械学習の 1 つを示します。 単純なグラフィック表現の生成には使用できますが、高度にカスタマイズされたグラフィックの作成には使用できません。
  • Plotly – Plotly を使用すると、必要なコード行数が非常に少なく、データの視覚化と分析の両方を作成できます。また、他のすべてのライブラリでは非常に珍しい等高線図があります。 散布図、折れ線グラフ、棒グラフ、エラー バー、サブプロット、ヒストグラム、箱ひげ図など、多くの視覚化を生成できます。さらに、Plotly には、多数のデータ ポイントの外れ値や異常を検出できるホバー ツール機能があります。
  • Pandas – 視覚化ライブラリではありませんが、Pandas はオープンソースの高性能ライブラリであり、Python 視覚化ライブラリで使用するための高速で柔軟なデータ操作およびデータ変換機能を提供します。 データ処理に Pandas の高レベル API を使用すると、データを操作するための Python コードをあまり記述せずに、長くて複雑な Python コードを使用する場合と同じ結果を得ることができます。

Python インタラクティブ ビジュアライゼーション

Python のインタラクティブな視覚化ツールを探している場合は、Bokeh を検討する必要があります。

Bokeh は、HTML と JavaScript を使用してグラフィックをレンダリングするインタラクティブな視覚化ライブラリです。 ただし、Bokeh は、JavaScript コードを記述する必要があるかどうかに関係なく、D3.js でインタラクティブな視覚化を作成するための Python API を提供します。 大規模またはストリーミング データ資産に適しており、インタラクティブな Web ベースのプロット、アプリケーション、およびダッシュボードの開発に使用できます。 Bokeh は、データを探索して理解し、プロジェクトやレポート用の魅力的なカスタム グラフを作成するための非常に強力なツールです。 Python データ ビジュアライゼーション スペースでは、Bokeh はインタラクティブなビジュアライゼーションを構築するための第 1 の候補です。

このライブラリは PyData ツールとも緊密に連携し、プロットに標準の Pandas および NumPy オブジェクトを使用できます。

Python 時系列の視覚化

時系列データは、時間順にリストされた一連のデータ ポイントです。 これは、連続する等間隔のポイントのシーケンスであり、データの意味のある洞察やその他の有用な特性を抽出するために分析するためのメソッドで構成されています。 時系列タイプのデータは、製薬、小売、運輸、金融、さらにはソーシャル メディアや電子メール マーケティング企業など、多くの業界で重要です。

以下は、時系列データのすべての例です。

  • 医学:心拍数のモニタリング、体重の追跡、血圧の追跡など
  • 小売: 24 時間または 48 時間の 1 時間あたりの販売アイテム数
  • 交通機関: 1 週間または 1 か月間に旅行する旅行者の数
  • 経済:国内総生産、消費者物価指数など

折れ線グラフは、時系列データを視覚化するために最も一般的に使用される方法です。通常、チャート表示では、より詳細な時間ベースのデータをズームインしたり、データのより高レベルのビューをズームアウトしたりするなどの操作が可能です。

Python 可視化の例

データの視覚化およびダッシュボード ツールには、さまざまな種類のグラフが含まれています。 Python や前述の Python グラフィックス ライブラリなどのツールは、提供されているグラフの種類を超える必要がある場合に、有用で有益な視覚化を構築するのに役立ちます。 たとえば、ほとんどの製品には、サンキー ダイアグラム、ヒートマップ、スチームグラフなどの高度な視覚化機能が含まれていません。 Slingshot を使用すると、これらの高度な視覚化を Python に簡単に追加できます。

デフォルトでは、Slingshot の Python ビジュアライゼーションには、スクリプト エディターに次のライブラリが含まれています。

 #import matplotlib #import matplotlib.pyplot as plt #import numpy as np #import pandas as pd

デフォルトでは、スクリプト エディターでデフォルトで使用できるフィールドは、視覚化エディターのフィールド チューザーから選択したものです。

 #data['Territory'] #data['CampaignID'] #data['Sum of Spend']

他の組み込みチャートと同様に、ビジュアライゼーションを作成しています。 唯一の違いは、これがいくつかの Python コードで作成されていることです。

 campaignid = np.unique(np.array(data['CampaignID'])) territory = np.unique(np.array(data['Territory'])) spend = np.array(data['Sum of Spend']).reshape((7, 5)) fig, ax = plt.subplots(figsize=(5.5, 6.5)) im = ax.imshow(spend) # Show all ticks... ax.set_xticks(np.arange(len(territory))) ax.set_yticks(np.arange(len(campaignid))) # ... and label them with the respective list entries ax.set_xticklabels(territory) ax.set_yticklabels(campaignid) # Loop over data dimensions and create text annotations. for i in range(len(campaignid)): for j in range(len(territory)): text = ax.text(j, i, spend[i, j], ha="center", va="center", color="w") ax.set_title("Campaign Spend (dollars)") fig.tight_layout()

チームの他のメンバーと簡単に共有できる美しいヒートマップ ビジュアライゼーションが得られます。

Python Data Visualization for Beginners

最終的な考え

企業が事実に基づいたより良い意思決定を行うためにデータに依存し続けるにつれて、データの視覚化の重要性はさらに高まるでしょう。 また、チャートやグラフなどの視覚化手法は、従来のスプレッドシートや古いデータ レポートと比較して、データを理解する上でより効率的であるため、Python などのツールを使用してデータを視覚化することは、すべてのクロスファンクショナル チームにとって必要です。

しかし、データやインサイトの重要性があっても、それらを持っているだけではもはや十分ではありません。 データのプルの可能性を解き放つには、そのデータを日常の運用ワークフローに適合するアクションに変換する必要があります。 Slingshot を使用すると、インサイトからアクションへとシームレスに移行できます。

Slingshot を使用すると、データの分析、美しいデータの視覚化の作成、組織内の全員とのコラボレーション、すべてのプロジェクトの管理をすべて同じプラットフォームから簡単に行うことができます。

もっと学びたいですか? Slingshot を無料でお試しいただき、チームがデータを活用し、データ駆動型の文化を育み、生産性を向上させながら、実用的な洞察を活用するのにどのように役立つかをご確認ください。