Pandas PlatoBlockchain Veri Zekası ile Veri Görselleştirme. Dikey Arama. Ai.

Pandalarla Veri Görselleştirme

Pandalar şu ana kadar Veri Ön İşleme aşamasında bize yardımcı oluyor. Ancak bir keresinde Histogramlar oluştururken Pandas'ın başka bir modülünü de kullandık: plotting.

Şu ana kadar bilinçli olarak kaçındık, çünkü bu konuyu daha erken tanıtmak cevapladığından daha fazla soru ortaya çıkaracaktır. Yani Pandalar ve Matplotlib o kadar yaygın ve her yerde bulunan bir ikiliydi ki Pandalar Matplotlib'in işlevselliğini entegre etmeye başladı. BT ağır şekilde Herhangi bir gerçek çizimi yapmak için Matplotlib'e güvenir ve kaynak koduna sarılmış birçok Matplotlib işlevi bulacaksınız. Alternatif olarak çizim yapmak için aşağıdaki gibi diğer arka uçları kullanabilirsiniz: Komplo ve Bokeh.

Ancak Pandalar bizi aynı zamanda birkaç senaryoyla da tanıştırıyor. değildir Matplotlib'in standart çizim türlerinin bir kısmı, örneğin KDE'ler, Andrews Eğrileri, Önyükleme Grafikleri ve Dağılım Matrisleri.

The plot() Pandaların işlevi DataFrame tarafından belirtilen arka ucu kullanır plotting.backendve bağlı olarak kind argüman – verilen kütüphaneyi kullanarak bir çizim oluşturur. Bunların çoğu örtüştüğünden, aşağıdaki gibi olay örgüsünü ele almanın bir anlamı yok: line, bar, hist ve scatter. Matplotlib ile şu ana kadar yaptığımızla aynı kodla hemen hemen aynı grafikleri üretecekler.

Sadece kısaca bir göz atacağız plot() Temel mekanizma şu ana kadar araştırıldığından beri işlev görüyor. Bunun yerine, daha önce incelediğimiz bazı olay örgülerine odaklanalım. yapamaz Matplotlib ile zaten kolayca yapabilirsiniz.

Pandaların çizim yapma ve görselleştirme yetenekleri Matplotlib'e kıyasla sönük kaldığı için bu çok kısa bir bölüm olacak - ancak yine de bunlardan bazılarını bilmek ve çizim yapma yeteneğinin farkında olmak yararlı olacaktır. DataFramedoğrudan s.

The DataFrame.plot() işlev

The plot() fonksiyon kabul eder x ve y özellikler ve bir kind argüman. Alternatif olarak, önlemek için kind argüman olarak da arayabilirsiniz DataFrame.plot.kind() bunun yerine ve x ve y özellikleri.

Kabul edilen değerler kind argüman şunlardır: line, bar, barh (yatay çubuk), hist, box, kde, density (eş anlamlısı kde), area, pie, scatter ve hexbin (Isı haritasına benzer).

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()

sağlamak yerine Series Matplotlib için yaptığımız gibi örnekler - aşağıdakileri sağlamak yeterlidir: sütun adlarıve aradığınızdan beri plot() üzerinde işlev DataFrame Görselleştirdiğinizde Pandaların bu dize değerlerini uygun sütun adlarıyla eşleştirmesi kolaydır.

Bu aramaların her biri yeni bir çağrı yapar Figure örneği ve uygun değerleri bunun üzerine çizer:

Pandas PlatoBlockchain Veri Zekası ile Veri Görselleştirme. Dikey Arama. Ai.

Aynı eksen üzerinde birden fazla eksen çizmek için Figure, bir yapabilirsiniz Figure ve bir veya daha fazla Axes üzerinden plt.subplots() ve uygun olanı atayın Axes için ax her birinin argümanı plot.plot_type() telefon etmek:

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()

Standart argümanlardan bazıları, örneğin rotation argüman aslında farklı plot() Aramalar. Örneğin, rotation kısaltılır rot. Bu işi biraz zorlaştırıyor sadece değiştir Matplotlib ve Pandas arasında, büyük olasılıkla belge sayfalarında hangi argümanların uygulanabileceğini ve hangilerinin uygulanamayacağını kontrol edeceksiniz.

Artık yeni bir tane oluşturmak yerine Figure or Axes Örneğin, bu parsellerin her biri uygun yerlere yerleştirilecektir. Axes onlara sağladığımız örnekler:

Pandas PlatoBlockchain Veri Zekası ile Veri Görselleştirme. Dikey Arama. Ai.

Genel olarak, Pandalar ile çizim yapmak rahat ve hızlıdır; ancak yine de Çubuk Grafikleri, Çizgi Grafikleri ve Kutu Grafiklerini çizmek için muhtemelen Matplotlib'i kullanmak isteyeceksiniz. Bu, hem Pandas'ın kaçınılmaz olarak kullandığı temel motordur, hem de daha fazla özelleştirme seçeneğine sahiptir ve Pandas olay örgüsüyle kullanabileceğiniz yeni bir dizi argümanı hatırlamanıza gerek kalmayacaktır.

Bununla birlikte, bazı araziler için şunları tercih etmek isteyebilirsiniz: Pandalar, Matplotlib'de manuel olarak yapılmaları gerekeceğinden ve bazıları, KDE satırları gibi, çabaya değmeyecek kadar zahmetli olduğundan.

Pandalar komplo modül

Ne DataFramegörsellik açısından sunması gereken şeyler bizim için çok da yeni değil. Ancak, aradıkları temel modül, pandas.plotting yapar. plotting modülün kullanabileceğimiz çeşitli işlevleri vardır, örneğin autocorrelation_plot(), bootstrap_plot(), ve scatter_matrix().

Bunların her biri ya bir Series ya da DataFrame, ürettikleri görselleştirme türüne ve ayrıca çizim spesifikasyonu ve stil oluşturma amaçlarına yönelik belirli parametrelere bağlı olarak.

Önyükleme Planı

Bootstrapping bir veri kümesini rastgele örnekleme (değiştirme ile) ve doğruluk ölçümlerini hesaplama sürecidir. önyargı, varyans ve güvenilirlik aralığı rastgele örnekler için. Pratik açıdan "değiştirilerek", rastgele seçilen her bir öğenin yeniden seçilebileceği anlamına gelir. Değiştirmeden rastgele seçilen her öğenin ardından bir sonraki örnek için havuzdan kaldırıldığı anlamına gelir.

A Önyükleme PlanıPandas tarafından oluşturulan , örneğe dayalı olarak bir veri kümesinin ortalama, medyan ve orta düzey istatistiklerini ön plana çıkarır size, bundan sonra arsa daha sonra aracılığıyla gösterilir plt.show(). için varsayılan argümanlar size ve samples vardır 50 ve 500 respectivamente.

Bu, bir özellik için örnek aldığımız anlamına gelir 50 değerler. Daha sonra bu 50 değer için 50 öğeli bir alt örnek oluşturulur (sentetik veriler) ve bunlar için bir özet istatistik (ortalama/medyan/orta aralık) hesaplanır. Bu işlem tekrarlanır 500 kez, yani sonunda 500 özet istatistik elde ettik:

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()

Pandas PlatoBlockchain Veri Zekası ile Veri Görselleştirme. Dikey Arama. Ai.

Otokorelasyon Grafiği

Otokorelasyon Grafikleri zaman serisi verileri için veri rastgeleliğini kontrol etmek için kullanılır. Çoklu otokorelasyonlar Farklı zaman damgaları için hesaplanır ve veriler gerçekten rastgele ise korelasyon sıfıra yakın olacaktır. Aksi takdirde korelasyon sıfırdan büyük olacaktır.

İki Otokorelasyon Grafiği çizelim – biri bizimkiyle Özellik özelliği ve bir tanesi Series rastgele değerlerle dolu:

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()

Otokorelasyon Grafiği random_series etrafında dönmeli 0, rastgele veriler olduğundan, grafiğin grafiği Value özellik şunları yapmaz:

Pandas PlatoBlockchain Veri Zekası ile Veri Görselleştirme. Dikey Arama. Ai.

Otokorelasyonun bir tanesini ölçtüğünü belirtmekte fayda var. Airdrop Formu ilişkisiz olduğu için rastgelelik vardır ancak rastgele olmayan veriler mevcuttur. Rastgele değilse ancak herhangi bir önemli korelasyona sahip değilse Otomatik Korelasyon Grafiği, verilerin rastgele olduğunu gösterir.

Dağılım Matrisleri

Dağılım Matrisleri bir plan yapmak ızgara Tüm özelliklere karşı tüm özellikler için Dağılım Grafikleri. Bu kaçınılmaz olarak her bir özelliği kendisiyle de karşılaştırdığından – diyagonal bunun gerçekleştiği yerde genellikle bir ile değiştirilir Histogram Dağılım Grafiği yerine bu özelliğin. Dağılım Matrisleri olarak da bilinir Çift Grafiklerve Seaborn şunları sunuyor: pairplot() sırf bunun için işlev görüyor.

The scatter_matrix() fonksiyon kabul eder DataFrame ve tüm sayısal özellikleri için bir Dağılım Matrisi üretir ve 2 boyutlu bir dizi döndürür. Axes Dağılım Matrisini oluşturan örnekler. Onlarla ilgili herhangi bir şeyi değiştirmek için, bunları yinelemek isteyeceksiniz:

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()

Bu, tüm özelliklerin diğer tüm özelliklere karşı oldukça büyük bir Dağılım Matrisi ile sonuçlanır:

Pandas PlatoBlockchain Veri Zekası ile Veri Görselleştirme. Dikey Arama. Ai.

Ayrıca diagonal kabul eden argüman 'hist' or 'kde' köşegen üzerinde ne tür bir dağıtım grafiği çizmek istediğinizi belirtmek ve ayrıca alpha, Dağılım Grafiklerindeki işaretleyicilerin yarı saydamlığını belirtir.

Zaman Damgası:

Den fazla Yığın kötüye kullanımı