ホームページ  >  記事  >  バックエンド開発  >  素晴らしい!この Python データ視覚化ツールは強力です。

素晴らしい!この Python データ視覚化ツールは強力です。

PHPz
PHPz転載
2023-04-15 09:28:02850ブラウズ

素晴らしい!この Python データ視覚化ツールは強力です。

Altair を使用すると、データとその意味により多くの時間を費やすことができます。これについては、以下で詳しく説明します。

これは、 JupyterLab で Altair を使用してデータセットを迅速に視覚化して表示する例:

import altair as alt
# load a simple dataset as a pandas DataFrame
from vega_datasets import data
cars = data.cars()
alt.Chart(cars).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color='Origin',
)

素晴らしい!この Python データ視覚化ツールは強力です。

Vega-Lite から派生した Altair のユニークな機能の 1 つは宣言構文です。のみ 可視化機能もインタラクティブです。上記の例をいくつか変更すると、散布図の選択に基づいてフィルター処理されたリンクされたヒストグラムを作成できます。

import altair as alt
from vega_datasets import data
source = data.cars()
brush = alt.selection(type='interval')
points = alt.Chart(source).mark_point().encode(
x='Horsepower',
y='Miles_per_Gallon',
color=alt.condition(brush, 'Origin', alt.value('lightgray'))
).add_selection(
brush
)
bars = alt.Chart(source).mark_bar().encode(
y='Origin',
color='Origin',
x='count(Origin)'
).transform_filter(
brush
)
points & bars

素晴らしい!この Python データ視覚化ツールは強力です。

インストール方法

Altair には次の依存関係が必要です:

  • pandas
  • traitlets
  • IPython

リポジトリのクローンを作成した場合は、リポジトリのルートから次のコマンドを実行します。

pip install -e .[dev]

リポジトリのクローンを作成したくない場合は、次のコマンドを実行できます。これを行うには、次のコマンドを使用します。 インストール:

pip install git+https://github.com/altair-viz/altair

詳細については、github リンクを参照してください:

https://github.com/altair-viz/altair

3 つの主要な操作

次へ, Altair について詳しく紹介します 探索的データ分析プロセスの一部として使用できる、フィルター処理、グループ化、およびマージ操作の視覚化を作成する方法。

シミュレートされたデータの 2 つのデータ フレームを構築します。 1 つ目はレストランの注文で、2 つ目はレストランの注文に含まれる商品の価格です。

# import libraries
import numpy as np
import pandas as pd
import altair as alt
import random
# mock data
orders = pd.DataFrame({
 "order_id": np.arange(1,101),
 "item": np.random.randint(1, 50, size=100),
 "qty": np.random.randint(1, 10, size=100),
 "tip": (np.random.random(100) * 10).round(2)
})
prices = pd.DataFrame({
 "item": np.arange(1,51),
 "price": (np.random.random(50) * 50).round(2)
})
order_type = ["lunch", "dinner"] * 50
random.shuffle(order_type)
orders["order_type"] = order_type

素晴らしい!この Python データ視覚化ツールは強力です。

素晴らしい!この Python データ視覚化ツールは強力です。

まず、Altair 構文構造の簡単な図を作成します。

alt.Chart(orders).mark_circle(size=50).encode(
 x="qty", y="tip", color="order_type"
).properties(
 title = "Tip vs Quantity"
)

素晴らしい!この Python データ視覚化ツールは強力です。

Altair の基本構文の 4 つのステップ:

  • データを Chart オブジェクトに渡します。データは、Pandas データ フレームまたはポイントにすることができます。 json または csv ファイルの URL 文字列。
  • ビジュアライゼーションのタイプ (mark_circle、mark_line など) を選択します。
  • encode エンコード関数は、特定のデータ フレームに何をプロットするかを指定します。したがって、エンコード関数に記述するものはすべてデータフレームにリンクする必要があります。
  • グラフの特定のプロパティを指定するには、プロパティ関数を使用します。

異なるデータ フレーム内にある、pircce 値とtip 値の散布図を作成する必要がある状況を考えてみましょう。 1 つのオプションは、2 つのデータフレームをマージし、散布図でこれら 2 つの列を使用することです。

Altair は、Pandas のマージ関数と同様に、他のデータ フレーム内の列を検索できる、より実用的な方法を提供します。

alt.Chart(orders).mark_circle(size=50).encode(
 x="tip", y="price:Q", color="order_type"
).transform_lookup(
 lookup="item",
 from_=alt.LookupData(data=prices, key="item", fields=["price"])
).properties(
 title = "Price vs Tip"
)

素晴らしい!この Python データ視覚化ツールは強力です。

transform_lookup 関数は、Pandas のマージ関数に似ています。観測結果の照合に使用される列 (つまり、行) はルックアップ パラメーターに渡されます。フィールド パラメーターは、別のデータフレームから必要な列を選択するために使用されます。

フィルター コンポーネントをプロットに統合して、10 ドルを超える価格のデータ ポイントをプロットすることもできます。

alt.Chart(orders).mark_circle(size=50).encode(
 x="tip", y="price:Q", color="order_type"
).transform_lookup(
 lookup="item",
 from_=alt.LookupData(data=prices, key="item", fields=["price"])
).transform_filter(
 alt.FieldGTPredicate(field='price', gt=10)
).properties(
 title = "Price vs Tip"
)

素晴らしい!この Python データ視覚化ツールは強力です。

フィルタリングには、transform_filter 関数が使用されます。 FieldGTPredicate は「より大きい」条件を処理します。

Altair では、フィルタリングと結合に加えて、プロットする前にデータ ポイントをグループ化することもできます。たとえば、注文タイプごとに商品の平均価格を表示する棒グラフを作成できます。さらに、20 ドル未満の商品についてもこれを行うことができます。

alt.Chart(orders).mark_bar().encode(
 y="order_type", x="avg_price:Q"
).transform_lookup(
 lookup="item",
 from_=alt.LookupData(data=prices, key="item", fields=["price"])
).transform_filter(
 alt.FieldLTPredicate(field='price', lt=20)
).transform_aggregate(
 avg_price = "mean(price)", groupby = ["order_type"]
).properties(
 height=200, width=300
)

素晴らしい!この Python データ視覚化ツールは強力です。

各ステップを詳しく説明しましょう:

  • transform_lookup: 価格データフレームから価格を見つけます。
  • transform_filter: 20 ドル未満の価格をフィルターします。
  • transform_aggregate:注文タイプごとに価格をグループ化し、平均を計算します。

結論

Altair と他の一般的な視覚化ライブラリの違いは、データ分析コンポーネントを視覚化にシームレスに統合でき、非常に実用的なデータ探索ツールになることです。

フィルタリング、マージ、およびグループ化は、探索的データ分析プロセスにとって重要です。 Altair を使用すると、データ視覚化を作成するときにこれらすべての操作を実行できます。この意味では、Altair はデータ分析ツールとも言えます。興味がある方は今すぐ試してみてください。

以上が素晴らしい!この Python データ視覚化ツールは強力です。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。