Sains Data

Cara membuat jadual pangsi di Pandas Python

Cara membuat jadual pangsi di Pandas Python
Dalam python panda, jadual Pivot terdiri dari jumlah, jumlah, atau fungsi agregasi yang berasal dari jadual data. Fungsi agregasi dapat digunakan pada ciri atau nilai yang berbeza. Jadual pangsi memungkinkan kita merangkum data jadual sebagai dikelompokkan berdasarkan nilai yang berbeza, termasuk nilai kategori kolum.

Sebelum menggunakan jadual pangsi panda, pastikan anda memahami data dan soalan yang ingin anda selesaikan melalui jadual pangsi. Dengan menggunakan kaedah ini, anda dapat menghasilkan hasil yang hebat. Kami akan menghuraikan dalam artikel ini, bagaimana membuat pivot table di panda python.

Baca Data dari fail Excel

Kami telah memuat turun pangkalan data excel penjualan makanan. Sebelum memulakan pelaksanaan, anda perlu memasang beberapa pakej yang diperlukan untuk membaca dan menulis fail pangkalan data excel. Ketik perintah berikut di bahagian terminal penyunting pycharm anda:

memasang pip xlwt openpyxl xlsxwriter xlrd

Sekarang, baca data dari lembaran excel. Import perpustakaan panda yang diperlukan dan ubah jalan pangkalan data anda. Kemudian dengan menjalankan kod berikut, data dapat diambil dari fail.

import panda sebagai pd
import numpy sebagai np
dtfrm = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
cetak (dtfrm)

Di sini, data dibaca dari pangkalan data penjualan makanan dan dimasukkan ke dalam pemboleh ubah kerangka data.

Buat Jadual Pangsi menggunakan Pandas Python

Di bawah ini kami telah membuat jadual pangsi sederhana dengan menggunakan pangkalan data penjualan makanan. Dua parameter diperlukan untuk membuat jadual pangsi. Yang pertama adalah data yang telah kami sampaikan ke kerangka data, dan yang lainnya adalah indeks.

Pivot Data pada Indeks

Indeks adalah ciri jadual pangsi yang membolehkan anda mengumpulkan data berdasarkan keperluan. Di sini, kami telah mengambil 'Product' sebagai indeks untuk membuat jadual pangsi asas.

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (kerangka data, indeks = ["Produk"])
cetak (pivot_tble)

Hasil berikut menunjukkan setelah menjalankan kod sumber di atas:

Tentukan lajur secara jelas

Untuk lebih banyak analisis data anda, jelaskan nama lajur dengan indeks. Sebagai contoh, kami mahu memaparkan satu-satunya UnitPrice dari setiap produk dalam hasilnya. Untuk tujuan ini, tambahkan parameter nilai dalam jadual pangsi anda. Kod berikut memberi anda hasil yang sama:

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (kerangka data, indeks = 'Produk', nilai = 'UnitPrice')
cetak (pivot_tble)

Pivot Data dengan Multi-indeks

Data dapat dikelompokkan berdasarkan lebih dari satu ciri sebagai indeks. Dengan menggunakan pendekatan multi-indeks, anda boleh mendapatkan hasil yang lebih spesifik untuk analisis data. Sebagai contoh, produk berada dalam kategori yang berbeza. Jadi, anda boleh memaparkan indeks 'Product' dan 'Category' dengan 'Quantity' dan 'UnitPrice' setiap produk seperti berikut:

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (kerangka data, indeks = ["Kategori", "Produk"], nilai = ["UnitPrice", "Quantity"])
cetak (pivot_tble)

Menerapkan Fungsi Pengagregatan dalam jadual Pangsi

Dalam jadual pangsi, aggfunc dapat diterapkan untuk nilai ciri yang berbeza. Jadual yang dihasilkan adalah ringkasan data ciri. Fungsi agregat berlaku untuk data kumpulan anda dalam pivot_table. Secara default fungsi agregat adalah np.bermaksud (). Tetapi, berdasarkan keperluan pengguna, fungsi agregat yang berbeza dapat berlaku untuk ciri data yang berbeza.

Contoh:

Kami telah menggunakan fungsi agregat dalam contoh ini. The np.fungsi sum () digunakan untuk ciri 'Quantity' dan np.mean () fungsi untuk ciri 'UnitPrice'.

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (kerangka data, indeks = ["Kategori", "Produk"], aggfunc = 'Kuantiti': np.jumlah, 'UnitPrice': np.bermaksud)
cetak (pivot_tble)

Setelah menerapkan fungsi agregasi untuk pelbagai ciri, anda akan mendapat output berikut:

Dengan menggunakan parameter nilai, Anda juga dapat menerapkan fungsi agregat untuk fitur tertentu. Sekiranya anda tidak akan menentukan nilai ciri, ia menggabungkan ciri berangka pangkalan data anda. Dengan mengikuti kod sumber yang diberikan, anda dapat menerapkan fungsi agregat untuk fitur tertentu:

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (kerangka data, indeks = ['Produk'], nilai = ['UnitPrice'], aggfunc = np.bermaksud)
cetak (pivot_tble)

Berbeza antara Nilai vs. Lajur dalam Jadual Pangsi

Nilai dan lajur adalah titik membingungkan utama dalam pivot_table. Penting untuk diperhatikan bahawa lajur adalah medan pilihan, yang menunjukkan nilai-nilai jadual yang dihasilkan secara mendatar di bahagian atas. Fungsi agregasi aggfunc berlaku untuk medan nilai yang anda senaraikan.

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ['Category', 'Product', 'City'], nilai = ['UnitPrice', 'Quantity'],
lajur = ['Wilayah'], aggfunc = [np.jumlah])
cetak (pivot_tble)

Mengendalikan Data yang Hilang dalam Jadual Pangsi

Anda juga boleh mengatasi nilai yang hilang dalam jadual Pivot dengan menggunakan 'isi_nilai' Parameter. Ini membolehkan anda mengganti nilai NaN dengan beberapa nilai baru yang anda sediakan untuk diisi.

Sebagai contoh, kami membuang semua nilai nol dari jadual hasil di atas dengan menjalankan kod berikut dan menggantikan nilai NaN dengan 0 di keseluruhan jadual hasil.

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ')
pivot_tble = pd.pivot_table (dataframe, index = ['Category', 'Product', 'City'], nilai = ['UnitPrice', 'Quantity'],
lajur = ['Wilayah'], aggfunc = [np.jumlah], fill_value = 0)
cetak (pivot_tble)

Penapisan dalam Jadual Pangsi

Setelah hasilnya dihasilkan, anda dapat menerapkan penapis dengan menggunakan fungsi kerangka data standard. Mari kita ambil contoh. Tapis produk yang UnitPrice kurang dari 60. Ia memaparkan produk yang harganya kurang dari 60.

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (kerangka data, indeks = 'Produk', nilai = 'UnitPrice', aggfunc = 'sum')
low_price = pivot_tble [pivot_tble ['UnitPrice']] < 60]
cetak (harga rendah)

Dengan menggunakan kaedah pertanyaan lain, anda dapat menyaring hasil. Sebagai contoh, Sebagai contoh, kami telah menapis kategori kuki berdasarkan ciri berikut:

import panda sebagai pd
import numpy sebagai np
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (dataframe, index = ["Category", "City", "Region"], nilai = ["UnitPrice", "Quantity"], aggfunc = np.jumlah)
pt = pangsi_tabel.pertanyaan ('Category == ["Cookies"]')
mencetak (pt)

Pengeluaran:

Visualisasikan Data Jadual Pangsi

Untuk memvisualisasikan data jadual pangsi, ikuti kaedah berikut:

import panda sebagai pd
import numpy sebagai np
import matplotlib.pyplot sebagai plt
kerangka data = pd.read_excel ('C: / Pengguna / DELL / Desktop / foodalesdata.xlsx ', index_col = 0)
pivot_tble = pd.pivot_table (kerangka data, indeks = ["Kategori", "Produk"], nilai = ["UnitPrice"])
pangsi_tabel.plot (jenis = 'bar');
plt.tunjuk ()

Dalam visualisasi di atas, kami telah menunjukkan harga seunit bagi pelbagai produk dan kategori.

Kesimpulannya

Kami meneroka bagaimana anda dapat menghasilkan jadual pangsi dari kerangka data menggunakan Pandas python. Jadual pangsi membolehkan anda menghasilkan pandangan mendalam mengenai set data anda. Kami telah melihat bagaimana menghasilkan jadual pangsi sederhana menggunakan multi-indeks dan menerapkan penapis pada jadual pangsi. Selain itu, kami juga telah menunjukkan plot data pivot table dan mengisi data yang hilang.

Makna Kesalahan Tidak Dapat Mendapatkan Lock / var / lib / dpkg / lock-frontend
Semasa menggunakan sistem operasi apa pun, kadang-kadang anda akan menemui kesilapan yang menjengkelkan. Kadang kala anda dengan mudah mengenali kesil...
Cara menggunakan carian apt-cache untuk mencari pakej
Pernah menghadapi masalah semasa pemasangan untuk pakej tepat, apabila anda tidak mengetahui nama pakej yang tepat. Seperti apt, anda harus memberikan...
Mengapa anda memerlukan pilihan yang tepat?
Semua pentadbir sistem dan kebanyakan pengguna Ubuntu biasa lebih suka menggunakan apt-get untuk memasang dan menaik taraf pakej tetapi tidak memberi ...