Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memplot Carta Bar Bertindan dengan Panda Apabila Data Diasingkan kepada Berbilang Lajur?

Bagaimana untuk Memplot Carta Bar Bertindan dengan Panda Apabila Data Diasingkan kepada Berbilang Lajur?

Susan Sarandon
Susan Sarandonasal
2024-10-21 19:40:03949semak imbas

How to Plot a Stacked Bar Chart with Pandas When Data is Separated into Multiple Columns?

Merancang Carta Bar Bertindan dengan Panda

Dalam Python, kita boleh menggunakan Pandas dan Matplotlib untuk mencipta carta bar bertindan. Cabaran biasa ialah menstrukturkan data untuk carta.

Sebagai contoh, pertimbangkan tugas untuk mencipta graf bar bertindan dengan data dipisahkan kepada berbilang lajur. Contoh yang diberikan menunjukkan hamparan dengan nama tapak dan kiraan penyalahgunaan/NFF. Untuk merancang data ini:

  1. Import Perpustakaan: Mulakan dengan mengimport Pandas dan Matplotlib.
  2. Buat Bingkai Data: Cipta Pandas DataFrame daripada data CSV anda.
  3. Data Susun Semula: Gunakan fungsi groupby() dan unstack() untuk menyusun semula data ke dalam format yang sesuai untuk carta bar. Dalam contoh, data dikumpulkan mengikut Nama Tapak dan Penyalahgunaan/NFF, dan kemudian kiraan dinyahtindan.
  4. Buat Carta Bar: Gunakan fungsi plot() dengan jenis=' bar' and stacked=Argumen yang benar untuk mencipta carta bar bertindan.
  5. Paksi Label: Ingat untuk melabelkan paksi x dan y.

Kod Contoh:

import pandas as pd
import matplotlib.pyplot as plt

# Create DataFrame from CSV data
df = pd.read_csv('data.csv')

# Restructure data
df2 = df.groupby(['Site Name', 'Abuse/NFF'])['Site Name'].count().unstack('Abuse/NFF').fillna(0)

# Create bar chart
df2[['abuse', 'nff']].plot(kind='bar', stacked=True)
plt.xlabel('Site Name')
plt.ylabel('Count')
plt.title('Stacked Bar Chart of Abuse and NFF')
plt.show()

Atas ialah kandungan terperinci Bagaimana untuk Memplot Carta Bar Bertindan dengan Panda Apabila Data Diasingkan kepada Berbilang Lajur?. 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