Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Hebat! Alat visualisasi data Python ini berkuasa!

Hebat! Alat visualisasi data Python ini berkuasa!

PHPz
PHPzke hadapan
2023-04-15 09:28:02849semak imbas

Hebat! Alat visualisasi data Python ini berkuasa!

Dengan Altair, anda boleh meluangkan lebih banyak masa menumpukan pada data dan maksudnya, yang akan saya perincikan di bawah:

Contoh

Berikut ialah Contoh penggunaan Altair untuk memvisualisasikan dan memaparkan set data dengan pantas dalam JupyterLab:

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

Hebat! Alat visualisasi data Python ini berkuasa!

Salah satu ciri unik Altair yang diperoleh daripada Vega-Lite ialah sintaks deklaratif, yang Ia bukan sahaja visual tetapi juga interaktif. Dengan beberapa pengubahsuaian pada contoh di atas, kita boleh mencipta histogram terpaut yang ditapis berdasarkan pemilihan plot taburan.

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

Hebat! Alat visualisasi data Python ini berkuasa!

Kaedah pemasangan

Altair memerlukan kebergantungan berikut:

  • ciri panda
  • IPython

Jika anda telah mengklonkan repositori, jalankan arahan berikut dari akar repositori:

pip install -e .[dev]

Jika anda tidak mahu mengklon repositori, anda boleh Gunakan arahan berikut untuk memasang:

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

Untuk butiran lanjut, anda boleh melihat pautan github:

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

Tiga operasi utama

Connect Seterusnya, saya akan menerangkan secara terperinci cara Altair mencipta visualisasi operasi penapisan, pengumpulan dan penggabungan yang boleh digunakan sebagai sebahagian daripada proses analisis data penerokaan.

Kami membina dua bingkai data data simulasi. Yang pertama ialah tempahan restoran, dan yang kedua ialah harga barang dalam pesanan restoran.

# 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

Hebat! Alat visualisasi data Python ini berkuasa!

Hebat! Alat visualisasi data Python ini berkuasa!

Pertama, kami mencipta rajah ringkas kepada struktur sintaks Altair.

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

Hebat! Alat visualisasi data Python ini berkuasa!

Sintaks asas Altair empat langkah:

  • Hantar data ke objek Carta, data boleh menjadi bingkai data Pandas atau arahkan ke json Atau dalam bentuk rentetan URL bagi fail csv.
  • Pilih jenis visualisasi (cth. mark_circle, mark_line, dll.).
  • pengekodan Fungsi pengekodan menentukan perkara yang hendak diplot dalam bingkai data tertentu. Oleh itu, apa sahaja yang kami tulis dalam fungsi pengekodan mesti dipautkan kepada bingkai data.
  • Gunakan fungsi sifat untuk menentukan sifat tertentu graf.

Pertimbangkan situasi di mana kita perlu mencipta plot taburan nilai pirce dan tip, yang berada dalam bingkai data yang berbeza. Satu pilihan ialah menggabungkan dua bingkai data dan menggunakan dua lajur ini dalam plot berselerak.

Altair menyediakan kaedah yang lebih praktikal yang membolehkan mencari lajur dalam bingkai data lain, serupa dengan fungsi gabungan 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"
)

Hebat! Alat visualisasi data Python ini berkuasa!

Fungsi transform_lookup adalah serupa dengan fungsi gabungan Pandas. Lajur (iaitu baris) yang digunakan untuk memadankan pemerhatian dihantar ke parameter carian. Parameter medan digunakan untuk memilih lajur yang diperlukan daripada bingkai data lain.

Kami juga boleh menyepadukan komponen penapis ke dalam plot, membolehkan kami memplot titik data dengan harga melebihi $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"
)

Hebat! Alat visualisasi data Python ini berkuasa!

Fungsi transform_filter digunakan untuk penapisan. FieldGTPredicate mengendalikan keadaan "lebih besar daripada".

Selain menapis dan menggabungkan, Altair juga membenarkan titik data dikumpulkan sebelum memplot. Sebagai contoh, kita boleh membuat carta bar yang memaparkan harga purata item untuk setiap jenis pesanan. Selain itu, kami boleh melakukan ini untuk item berharga di bawah $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
)

Hebat! Alat visualisasi data Python ini berkuasa!

Mari jelaskan setiap langkah secara terperinci:

  • transform_lookup: Cari harga daripada bingkai data harga.
  • transform_filter: Tapis harga di bawah $20.
  • transform_aggregate: Kumpulkan harga mengikut jenis pesanan dan kirakan min.

Kesimpulan

Perbezaan antara Altair dan perpustakaan visualisasi biasa yang lain ialah ia boleh menyepadukan komponen analisis data dengan lancar ke dalam visualisasi, menjadikannya alat Explore data yang sangat praktikal.

Penapisan, penggabungan dan pengumpulan adalah penting untuk proses analisis data penerokaan. Altair membolehkan anda melakukan semua operasi ini semasa membuat visualisasi data. Dalam pengertian ini, Altair juga boleh dianggap sebagai alat analisis data. Jika anda berminat, cubalah sekarang.

Atas ialah kandungan terperinci Hebat! Alat visualisasi data Python ini berkuasa!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:51cto.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam