Jadual Kandungan
Contoh
Kaedah pemasangan
Tiga operasi utama
Kesimpulan
Rumah pembangunan bahagian belakang Tutorial Python Hebat! Alat visualisasi data Python ini berkuasa!

Hebat! Alat visualisasi data Python ini berkuasa!

Apr 15, 2023 am 09:28 AM
python Visualisasi kod

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

Salin selepas log masuk

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

Salin selepas log masuk

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]

Salin selepas log masuk

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

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

Salin selepas log masuk

Untuk butiran lanjut, anda boleh melihat pautan github:

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

Salin selepas log masuk

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

Salin selepas log masuk

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

Salin selepas log masuk

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

Salin selepas log masuk

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

Salin selepas log masuk

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
)

Salin selepas log masuk

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 Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Muat turun DeepSeek Xiaomi Cara Muat turun DeepSeek Xiaomi Feb 19, 2025 pm 05:27 PM

Cara Muat turun DeepSeek Xiaomi

Apakah kelebihan dan kekurangan templat? Apakah kelebihan dan kekurangan templat? May 08, 2024 pm 03:51 PM

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun Jul 01, 2024 am 07:22 AM

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET May 06, 2024 pm 04:43 PM

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Universiti Tsinghua dan sumber terbuka Zhipu AI GLM-4: melancarkan revolusi baharu dalam pemprosesan bahasa semula jadi Universiti Tsinghua dan sumber terbuka Zhipu AI GLM-4: melancarkan revolusi baharu dalam pemprosesan bahasa semula jadi Jun 12, 2024 pm 08:38 PM

Universiti Tsinghua dan sumber terbuka Zhipu AI GLM-4: melancarkan revolusi baharu dalam pemprosesan bahasa semula jadi

Bagaimana anda bertanya kepadanya Deepseek Bagaimana anda bertanya kepadanya Deepseek Feb 19, 2025 pm 04:42 PM

Bagaimana anda bertanya kepadanya Deepseek

Bagaimana untuk menyimpan fungsi menilai Bagaimana untuk menyimpan fungsi menilai May 07, 2024 am 01:09 AM

Bagaimana untuk menyimpan fungsi menilai

Apakah perisian NET40? Apakah perisian NET40? May 10, 2024 am 01:12 AM

Apakah perisian NET40?

See all articles