Visualisasi Data dengan Pandas PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Visualisasi Data dengan Panda

Pandas telah membantu kami sejauh ini dalam fase Prapemrosesan Data. Meskipun, dalam satu contoh, saat membuat Histogram, kami juga menggunakan modul lain dari Pandas – plotting.

Kami sengaja menghindari sejauh ini, karena memperkenalkannya lebih awal akan menimbulkan lebih banyak pertanyaan daripada jawabannya. Yaitu, Panda dan Matplotlib adalah duo yang umum di mana-mana, sehingga Pandas mulai mengintegrasikan fungsionalitas Matplotlib. Dia berat bergantung pada Matplotlib untuk melakukan plot yang sebenarnya, dan Anda akan menemukan banyak fungsi Matplotlib yang dibungkus dalam kode sumber. Atau, Anda dapat menggunakan backend lain untuk merencanakan, seperti Plotly dan Bokeh.

Namun, Pandas juga memperkenalkan kita pada beberapa plot yang tidak bagian dari tipe plot standar Matplotlib, seperti KDE, Kurva Andrews, Plot Bootstrap dan matriks sebar.

Grafik plot() fungsi panda DataFrame menggunakan backend yang ditentukan oleh plotting.backend, dan tergantung pada kind argumen – menghasilkan plot menggunakan perpustakaan yang diberikan. Karena banyak tumpang tindih ini – tidak ada gunanya menutupi tipe plot seperti line, bar, hist dan scatter. Mereka akan menghasilkan banyak plot yang sama dengan kode yang sama seperti yang telah kita lakukan sejauh ini dengan Matplotlib.

Kami hanya akan melihat secara singkat plot() fungsi sejak mekanisme yang mendasari telah dieksplorasi sejauh ini. Sebagai gantinya, mari kita fokus pada beberapa plot yang kita tidak bisa sudah siap dilakukan dengan Matplotlib.

Bab ini akan menjadi bab yang sangat singkat, karena kemampuan plot dan visualisasi Panda pucat dibandingkan dengan Matplotlib – tetapi masih berguna untuk mengetahui beberapa di antaranya, serta menyadari kemampuan untuk membuat plot dari DataFrames secara langsung.

Grafik DataFrame.plot() fungsi

Grafik plot() fungsi menerima x dan y fitur, dan kind argumen. Alternatifnya, untuk menghindari kind argumen, Anda juga bisa menelepon DataFrame.plot.kind() sebagai gantinya, dan berikan x dan y fitur.

Nilai yang diterima untuk kind argumen adalah: line, bar, barh (batang horizontal), hist, box, kde, density (sinonim untuk kde), area, pie, scatter dan hexbin (mirip dengan Peta Panas).

import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] df_eu.plot.bar(x = 'Year', y = 'Value')
df_eu.plot.line(x = 'Year', y = 'Value')
df_eu.plot.box(x='Value') plt.show()

Alih-alih menyediakan Series contoh seperti yang kami lakukan untuk Matplotlib – cukup menyediakan nama kolom, dan karena Anda memanggil plot() fungsi pada DataFrame Anda visualisasikan, mudah bagi Panda untuk memetakan nilai string ini ke nama kolom yang sesuai.

Masing-masing panggilan ini membuat panggilan baru Figure contoh dan plot nilai yang sesuai di atasnya:

Visualisasi Data dengan Pandas PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Untuk memplot beberapa sumbu pada yang sama Figure, Anda dapat membuat Figure dan satu atau lebih Axes melalui plt.subplots() dan menetapkan yang sesuai Axes ke ax argumen masing-masing plot.plot_type() hubungi:

import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] fig, ax = plt.subplots(3, 1) df_eu.plot.box(x='Value', ax = ax[0])
df_eu.plot.line(x = 'Year', y = 'Value', ax = ax[1])
df_eu.plot.bar(x = 'Year', y = 'Value', rot = 45, ax = ax[2]) plt.show()

Beberapa argumen standar, seperti rotation argumen sebenarnya berbeda dalam plot() panggilan. Sebagai contoh, rotation disingkat menjadi rot. Ini membuatnya agak sulit untuk hanya beralih antara Matplotlib dan Pandas, karena kemungkinan besar Anda akan berakhir di halaman dokumentasi, hanya memeriksa argumen mana yang dapat diterapkan dan mana yang tidak.

Sekarang, alih-alih membuat yang baru Figure or Axes Misalnya, masing-masing plot ini akan ditempatkan di tempat yang sesuai Axes contoh yang kami berikan kepada mereka:

Visualisasi Data dengan Pandas PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Secara umum, membuat plot dengan Pandas mudah dan cepat – tetapi meskipun demikian, untuk ploting Bar Plots, Line Plots dan Box Plots, Anda mungkin ingin menggunakan Matplotlib. Ini adalah mesin dasar yang pasti digunakan Panda, dan juga memiliki lebih banyak opsi penyesuaian, dan Anda tidak perlu mengingat serangkaian argumen baru yang dapat Anda gunakan dengan plot Pandas.

Karena itu, untuk beberapa plot, Anda mungkin ingin memilih Panda, karena mereka harus dibuat secara manual di Matplotlib, dan beberapa di antaranya sangat merepotkan sehingga tidak sepadan dengan usaha, seperti baris KDE.

panda' merencanakan Modul

Apa DataFrameYang ditawarkan dalam hal visualisasi bukanlah hal yang terlalu baru bagi kami. Namun, modul dasar yang mereka sebut, pandas.plotting tidak. Itu plotting modul memiliki beberapa fungsi yang dapat kita gunakan, seperti: autocorrelation_plot(), bootstrap_plot(), dan scatter_matrix().

Masing-masing menerima baik a Series atau DataFrame, bergantung pada jenis visualisasi yang mereka hasilkan, serta parameter tertentu untuk spesifikasi plot dan tujuan penataan gaya.

Plot Bootstrap

Bootstrap adalah proses pengambilan sampel secara acak (dengan penggantian) kumpulan data, dan menghitung ukuran akurasi seperti prasangka, perbedaan dan interval kepercayaan untuk sampel acak. “Dengan penggantian”, dalam istilah praktis, berarti bahwa setiap elemen yang dipilih secara acak dapat dipilih kembali. Tanpa penggantian berarti bahwa setelah setiap elemen yang dipilih secara acak, elemen tersebut dihapus dari kumpulan untuk sampel berikutnya.

A Plot Bootstrap, dibuat oleh Pandas bootstrap statistik rata-rata, median, dan rentang menengah dari kumpulan data, berdasarkan sampel size, setelah itu plot selanjutnya ditampilkan melalui plt.show(). Argumen default untuk size dan samples adalah 50 dan 500 masing.

Ini berarti bahwa untuk suatu fitur, kami mengambil sampel 50 nilai-nilai. Kemudian, subsampel 50 elemen dihasilkan (data sintetis) untuk 50 nilai tersebut dan statistik ringkasan (rata-rata/median/kisaran menengah) dihitung untuk nilai tersebut. Proses ini berulang 500 kali, jadi pada akhirnya, kami mendapatkan 500 ringkasan statistik:

import pandas as pd
from matplotlib import pyplot as plt df = pd.read_csv('./datasets/gdp_csv.csv')
df_eu = df.loc[df['Country Name'] == 'European Union'] pd.plotting.bootstrap_plot(df_eu['Value']) plt.show()

Visualisasi Data dengan Pandas PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Plot Autokorelasi

Plot Autokorelasi digunakan untuk memeriksa keacakan data, untuk data deret waktu. beberapa autokorelasi dihitung untuk stempel waktu yang berbeda, dan jika data benar-benar acak – korelasinya akan mendekati nol. Jika tidak – korelasi akan lebih besar dari nol.

Mari kita plot dua Plot Autokorelasi – satu dengan kita Nilai fitur, dan satu dengan a Series diisi dengan nilai acak:

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('gdp_csv.csv')
# Filter DataFrame for the EU
df_eu = df.loc[df['Country Name'] == 'European Union']
# Generate 50 random integers between 0 and 100, and turn into a Series
random_series = pd.Series(np.random.randint(0, 100, size=50)) # Plot Autocorrelation Plot for the *Value* feature
pd.plotting.autocorrelation_plot(df_eu['Value'])
# Plot Autocorrelation Plot for the *random_series*
pd.plotting.autocorrelation_plot(random_series) plt.show()

Plot Autokorelasi untuk random_series harus berputar di sekitar 0, karena ini adalah data acak, sedangkan plot untuk Value fitur tidak akan:

Visualisasi Data dengan Pandas PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Perlu dicatat bahwa Autokorelasi mengukur satu bentuk keacakan, sebagai tidak berkorelasi, tetapi data non-acak memang ada. Jika tidak acak, tetapi tidak memiliki korelasi yang signifikan – Plot Autokorelasi akan menunjukkan bahwa data tersebut acak.

matriks sebar

matriks sebar alur a kisi dari Scatter Plots untuk semua fitur terhadap semua fitur. Karena ini pasti membandingkan setiap fitur dengan dirinya sendiri, juga – the diagonal di mana ini terjadi biasanya diganti dengan a Histogram fitur itu, bukan Scatter Plot. matriks sebar juga dikenal sebagai Plot Pasangan, dan Seaborn menawarkan pairplot() berfungsi hanya untuk ini.

Grafik scatter_matrix() fungsi menerima DataFrame dan menghasilkan Matriks Sebar untuk semua fitur numeriknya, dan mengembalikan larik 2D dari Axes contoh yang terdiri dari Scatter Matrix. Untuk mengubah apa pun tentang mereka, Anda ingin mengulanginya:

import pandas as pd
import numpy as np
from matplotlib import pyplot as plt df = pd.read_csv('worldHappiness2019.csv') axes = pd.plotting.scatter_matrix(df, diagonal='hist') for ax in axes.flatten(): # Rotate back to 0 degrees since they're automatically rotated by 90 ax.yaxis.label.set_rotation(0) # As to not overlap with the Axes instances, set the ticklabel # alignment to 'right' ax.yaxis.label.set_ha('right') plt.show()

Ini menghasilkan Matriks Sebar yang agak besar dari semua fitur terhadap semua fitur lainnya:

Visualisasi Data dengan Pandas PlatoBlockchain Data Intelligence. Pencarian Vertikal. ai.

Anda juga bisa lewat di diagonal argumen, yang menerima 'hist' or 'kde' untuk menentukan jenis plot distribusi yang ingin Anda plot pada diagonal, serta alpha, yang menentukan translusensi penanda di Scatter Plots.

Stempel Waktu:

Lebih dari penyalahgunaan