Heim  >  Artikel  >  Backend-Entwicklung  >  Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

PHPz
PHPznach vorne
2023-04-15 09:28:02888Durchsuche

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Mit Altair können Sie mehr Zeit damit verbringen, sich auf die Daten und ihre Bedeutung zu konzentrieren, was ich im Folgenden ausführlich erläutern werde:

Beispiel

Hier ist ein Beispiel für die Verwendung von Altair in JupyterLab zur schnellen Visualisierung und Anzeige eines Datensatzes :

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',
)

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Eine der einzigartigen Eigenschaften von Altair von Vega-Lite ist die deklarative Syntax, die nicht nur visuell, sondern auch interaktiv ist. Mit einigen Modifikationen am obigen Beispiel können wir ein verknüpftes Histogramm erstellen, das basierend auf der Streudiagrammauswahl gefiltert wird.

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

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Installationsmethode

Altair erfordert die folgenden Abhängigkeiten:

  • Pandas
  • Traitlets
  • IPython

Wenn Sie das Repository geklont haben, führen Sie den folgenden Befehl im Stammverzeichnis des Repositorys aus:

pip install -e .[dev]

Wenn Sie das Repository nicht klonen möchten, können Sie es mit dem folgenden Befehl installieren:

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

Weitere Details finden Sie unter dem Github-Link:

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

Drei große Vorgänge

Als nächstes werde ich stellen Sie detailliert vor, wie Altair Filter und visuelle Objekte für Gruppierungs- und Zusammenführungsvorgänge erstellt, die als Teil eines explorativen Datenanalyseprozesses verwendet werden können.

Wir erstellen zwei Datenrahmen aus simulierten Daten. Das erste ist die Restaurantbestellung und das zweite ist der Preis des Artikels in der Restaurantbestellung.

# 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

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Zuerst erstellen wir ein einfaches Diagramm zur Altair-Syntaxstruktur.

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

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Grundlegende Altair-Syntax in vier Schritten:

  • Übergeben Sie Daten an ein Chart-Objekt, das in Form eines Pandas-Datenrahmens oder einer URL-Zeichenfolge vorliegen kann, die auf eine JSON- oder CSV-Datei verweist.
  • Wählen Sie die Art der Visualisierung (z. B. mark_circle, mark_line usw.).
  • encode Die Codierungsfunktion gibt an, was in einem bestimmten Datenrahmen dargestellt werden soll. Daher muss alles, was wir in die Kodierungsfunktion schreiben, mit dem Datenrahmen verknüpft sein.
  • Verwenden Sie die Eigenschaftenfunktion, um bestimmte Eigenschaften des Diagramms festzulegen.

Stellen Sie sich eine Situation vor, in der wir ein Streudiagramm von Pirce- und Tip-Werten erstellen müssen, die sich in unterschiedlichen Datenrahmen befinden. Eine Möglichkeit besteht darin, die beiden Datenrahmen zusammenzuführen und diese beiden Spalten in einem Streudiagramm zu verwenden.

Altair bietet eine praktischere Methode, die das Auffinden von Spalten in anderen Datenrahmen ermöglicht, ähnlich der Zusammenführungsfunktion von 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"
)

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Die transform_lookup-Funktion ähnelt der Merge-Funktion von Pandas. Die zum Abgleich der Beobachtungen verwendeten Spalten (d. h. Zeilen) werden an den Suchparameter übergeben. Der Parameter „Felder“ wird verwendet, um die erforderlichen Spalten aus einem anderen Datenrahmen auszuwählen.

Wir können auch eine Filterkomponente in die Darstellung integrieren, die es uns ermöglicht, Datenpunkte mit Preisen über 10 $ darzustellen.

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"
)

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Zum Filtern wird die Funktion transform_filter verwendet. FieldGTPredicate verarbeitet „Größer als“-Bedingungen.

Neben dem Filtern und Zusammenführen ermöglicht Ihnen Altair auch das Gruppieren von Datenpunkten vor dem Plotten. Wir können beispielsweise ein Balkendiagramm erstellen, das den Durchschnittspreis eines Artikels für jede Bestellart anzeigt. Darüber hinaus können wir dies für Artikel mit einem Preis unter 20 $ tun.

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
)

Wunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!

Lassen Sie uns jeden Schritt im Detail erklären:

  • transform_lookup: Preis aus Preisdatenrahmen ermitteln.
  • transform_filter: Preise unter 20 $ filtern.
  • transform_aggregate: Gruppieren Sie Preise nach Auftragstyp und berechnen Sie den Mittelwert.

Fazit

Der Unterschied zwischen Altair und anderen gängigen Visualisierungsbibliotheken besteht darin, dass es Datenanalysekomponenten nahtlos in die Visualisierung integrieren kann, was es zu einem sehr praktischen Datenexplorationstool macht.

Filtern, Zusammenführen und Gruppieren sind für den explorativen Datenanalyseprozess von entscheidender Bedeutung. Mit Altair können Sie alle diese Vorgänge beim Erstellen von Datenvisualisierungen ausführen. In diesem Sinne kann Altair auch als Datenanalysetool betrachtet werden. Wenn Sie interessiert sind, probieren Sie es jetzt aus.

Das obige ist der detaillierte Inhalt vonWunderbar! Dieses Python-Datenvisualisierungstool ist leistungsstark!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen