初心者向けの Python データ視覚化
Python を使用してデータ ビジュアライゼーションを作成すると、ユーザーは表形式で表現されたフォーマットされていない大規模なデータセットを分析して理解するのに数秒、あるいは数分かかるのに比べて、ミリ秒単位でデータの分析情報を得ることができます。
データの視覚化は、データを分析し、データをより明確に、誰もが理解しやすくする上で重要な役割を果たします。 Python などのデータ視覚化ツールを使用して情報を視覚的に表現すると、他の方法では決して発見できなかった傾向、パターン、相関関係を特定するのに役立ちます。また、アメリカのコンピューター科学者ベン シュナイダーマンが言うように、「視覚化により、知らなかった質問への答えが得られます」持っていた''。
このブログでは、Python のデータ視覚化とは何か、Python の視覚化ライブラリを使用して Python でデータを視覚化する方法について説明し、データ視覚化の威力と Python がどのように役立つかをより深く理解できるよう、いくつかの Python 視覚化の例を紹介します。それを活用すること。
Python での視覚化とは何ですか?
Python は汎用プログラミング言語であり、高レベルのデータ構造、動的タイプおよび動的バインディング、および複雑なアプリケーションの開発にとって価値があり有益なものとなるその他のさまざまな機能が含まれています。
過去 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 を提供します。これは大規模なデータ資産やストリーミング データ資産に適しており、インタラクティブなウェブベースのプロット、アプリケーション、ダッシュボードの開発に使用できます。 Bokeh は、データを探索して理解し、プロジェクトやレポート用の魅力的なカスタム グラフを作成するための非常に強力なツールです。 Python データ視覚化の分野では、Bokeh はインタラクティブな視覚化を構築するための第一の候補です。
このライブラリは、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 などのツールを使用してデータ視覚化を作成することは、すべての部門横断的なチームにとって必要不可欠です。
しかし、データと洞察の重要性にもかかわらず、それらを持っているだけではもはや十分ではありません。データの潜在力を引き出すには、そのデータを日常の運用ワークフローに適合するアクションに変換する必要があります。Slingshotを使用すると、洞察からアクションにシームレスに移行できます。
Slingshotを使用すると、データの分析、美しいデータの視覚化の作成、組織内の全員との共同作業、すべてのプロジェクトの管理をすべて同じプラットフォームから簡単に行うことができます。
さらに詳しく知りたいですか? Slingshotを無料でお試しいただき、チームがデータを活用し、データ主導の文化を育み、生産性を向上させながら、実用的な洞察を活用するのにどのように役立つかをご確認ください。