Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara Membuat Carta Bar Bertindan dengan Panda Menggunakan Data Berkumpulan

Cara Membuat Carta Bar Bertindan dengan Panda Menggunakan Data Berkumpulan

Patricia Arquette
Patricia Arquetteasal
2024-10-21 19:35:29571semak imbas

How to Create a Stacked Bar Chart with Pandas Using Grouped Data

Membuat Carta Bar Bertindan dengan Panda

Untuk mencipta carta bar bertindan dengan panda, anda perlu mempunyai data anda dalam DataFrame dengan satu lajur untuk label paksi-x dan satu lajur untuk setiap siri dalam carta bar. Dalam kes ini, label paksi-x ialah 'Nama Tapak' dan sirinya ialah 'Penyalahgunaan' dan 'NFF'.

Salah satu cara untuk mencipta DataFrame ini ialah menggunakan groupby() panda dan nyahtindan () kaedah. Kaedah 'groupby() mengumpulkan data mengikut lajur 'Nama Tapak' dan Penyalahgunaan/NFF', dan kaedah unstack()` menukar data terkumpul menjadi DataFrame dengan 'Nama Tapak' sebagai indeks dan 'Penyalahgunaan ' dan lajur 'NFF' sebagai lajur.

<code class="python">test5 = faultdf.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)</code>

Setelah anda mempunyai DataFrame, anda boleh mencipta carta bar bertindan menggunakan kaedah plot() dengan kind='bar' dan parameter bertindan ditetapkan kepada Benar.

<code class="python">test5.plot(kind='bar', stacked=True)</code>

Plot yang terhasil akan menjadi carta bar bertindan dengan 'Nama Tapak' pada paksi-x dan lajur 'Penyalahgunaan' dan 'NFF' sebagai tindanan.

<code class="python">%pylab inline
import pandas as pd
import matplotlib.pyplot as plt

df2 = df.groupby(['Name', 'Abuse/NFF'])['Name'].count().unstack('Abuse/NFF').fillna(0)
df2[['abuse','nff']].plot(kind='bar', stacked=True)</code>

Atas ialah kandungan terperinci Cara Membuat Carta Bar Bertindan dengan Panda Menggunakan Data Berkumpulan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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