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

Susan Sarandon
Lepaskan: 2024-10-21 19:40:03
asal
962 orang telah melayarinya

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()
Salin selepas log masuk

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!

sumber: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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!