Pandas ve Matplotlib kullanarak verilerinizi düzenleyip görselleştirmeye hazır mısınız? Bu rehberde, veri manipülasyonu, temizleme, analiz ve görselleştirme için pandas ve matplotlib kullanımını öğreneceksiniz Verilerinizi daha verimli hale getirin ve etkili bir şekilde sunun!

Veri, günümüzde birçok farklı alanda kullanılıyor ve işletmelerin doğru yönetilebilmesi adına büyük bir önem taşıyor. Ancak verilerin düzenlenmesi, temizlenmesi ve görselleştirilmesi gibi işlemler oldukça zaman alıcı bir süreç olabiliyor. İşte tam bu noktada, Pandas ve Matplotlib gibi Python modülleri devreye giriyor. Bu yazıda, Pandas ile verilerin nasıl düzenleneceği ve temizleneceği, Matplotlib ile de nasıl görselleştirildiği konularına detaylı bir şekilde değinilecek.
Pandas Nedir?
Pandas, açık kaynaklı bir veri işleme ve analizi kütüphanesidir. Python programlama dilinde yazılmıştır ve büyük ölçüde NumPy kütüphanesi üzerine kuruludur. Pandas'ın temel veri yapıları Series ve DataFrame'dir. Series, bir boyutlu veri dizisi için kullanılırken, DataFrame iki boyutlu bir veri yapısıdır.
Pandas'ın en büyük faydalarından biri, verileri okuma, düzenleme ve analiz etme konusunda hızlı ve etkili bir çözüm sunmasıdır. Ayrıca verileri kaydetme ve farklı formatlarda dışa aktarma seçenekleri de mevcuttur. Pandas, veri analizi veya makine öğrenmesine dayanan projeler için de sık kullanılan bir araçtır.
Pandas'ın kullanımı oldukça kolaydır ve birçok fonksiyon içermektedir. NaN değerleri yerleştirme veya sütun veya satırlardaki gereksiz verilerin çıkarılması gibi veri temizleme işlemleri de kolaylıkla gerçekleştirilebilir.
Pandas DataFrame Oluşturma ve Veri Temizleme
Pandas modülü veri analizi ve manipülasyonu için yaygın olarak kullanılan açık kaynak bir Python kütüphanesidir. Pandas, verileri yüklemek, işlemek, düzenlemek, temizlemek ve görselleştirmek için kullanılan bir araçtır. Pandas DataFrame, birden çok sütun ve satır içeren bir veri yapısıdır. Bu veri yapısının oluşturulması, verilerin düzenlenmesi ve bozuk verilerin düzeltilmesi oldukça basittir.
DataFrame oluşturma işlemi, Pandas kütüphanesi içinde yer alan Python sözlüklerinin kullanılmasıyla gerçekleştirilir. Verileri DataFrame şeklinde düzenlemek, daha sonra verilerin temizlenmesi için önemlidir. Veri temizleme, DataFrame'in gerçekleştirilebilecek birçok işleminden biridir. Bunlar arasında NaN değerlerinin doldurulması, gereksiz verilerin çıkarılması gibi teknikler yer alır.
NaN değerleri, veri setindeki eksik değerlerdir ve analizlerde istenmeyen yan etkilere sebep olabilirler. Bu nedenle bu değerlerin doldurulması oldukça önemlidir. Pandas kütüphanesi, DataFrame içinde yer alan NaN değerlerinin interpolation veya fillna ile doldurulmasına olanak sağlar. Interpolation yöntemi, eksik verilerin 'yakın' olan verilerin ortalama değerleri ile doldurulmasını sağlar. Altı boş olan verinin altından ve üstünden geçen doğru parçalarına göre, altı boş olan verilerin değerleri hesaplanabilir. Fillna yöntemi ile de eksik veriler, median, mean veya forward-fill/backward-fill yöntemleriyle doldurulabilir.
DataFrame içinde yer alan gereksiz veriler, analiz kararlarını yanıltabileceği için temizlenmelidir. Bu gereksiz verilerin çıkarılması, belirli bir sütunda veya satırda yapılabilir. Pandas kütüphanesi içinde yer alan drop() fonksiyonuyla belirtilen sütun veya satırlar veriden kaldırılabilir veya belirli bir değer içeren sütun veya satırlar filtrelenerek veri setinden çıkartılabilir.
NaN Değerleri Nasıl Doldurulur?
Verilerde boşluklar (NaN değerleri) sıkça karşılaştığımız bir durumdur ve bu boşlukların doldurulması veri analizi açısından önemlidir. Pandas DataFrame'lerinde NaN değerlerini doldurmak için interpolation ve fillna yöntemleri kullanılabilir.
Interpolation, NaN değerlerinin mevcut verilerin eğilimlerine göre tahmin edilmesi yöntemidir. Bu yöntemde, boşluklu veriler arasında bir doğru çizilerek NaN değerlerinin göreceli konumuna göre tahmin yapılır. Pandas, linear ve cubic interpolation tekniklerini destekler. Linear interpolation, NaN değerlerinin arasında doğrusal bir çizgi çekerken, cubic interpolation, verilerin daha kompleks bir şekilde tahmin edilmesine olanak tanır.
fillna yöntemi, NaN değerlerinin belirli bir değerle doldurulmasını sağlar. Bu yöntemde, NaN değerlerinin yerine geçecek bir değer belirtilir. Pandas, fillna yöntemi ile median, mean, forward-fill ve backward-fill tekniklerini destekler. Median, NaN değerlerin ortanca değerle doldurulmasını sağlarken, mean, NaN değerlerin ortalama değerle doldurulmasına olanak tanır. Forward-fill ise, NaN değerlerinin hemen öncesindeki değerle doldurulmasını sağlar ve backward-fill yöntemi de, NaN değerlerinin hemen sonrasındaki değerle doldurulmasını sağlar.
Interpolation Yöntemi
NaN değerleri ile başa çıkmak için kullanılan ve verilerin boşluklarını doldurmak için kullanılan bir yöntem olan interpolation, lineer ve kübik olmak üzere iki teknikle gerçekleştirilir. Lineer interpolation tekniği, veri noktalarını bir düz çizgi ile birleştirerek belirli bir noktadaki değeri hesaplar. Kübik interpolation tekniği ise, verilerin daha kompleks bir şekilde birleştirilmesini gerektirir ve daha düzgün bir grafiğe sahip olmayı sağlar.
Linear Interpolation | Cubic Interpolation |
---|---|
![]() | ![]() |
Interpolation yöntemi, verileri doldurmanın yanı sıra eksik verilerin tahmin edilmesinde de kullanılır. Ancak, eğer veriler çok fazla ayrık ise, interpolation yöntemi yanıltıcı sonuçlar verebilir ve yanıltıcı bir grafik ortaya çıkarabilir. Bu nedenle, interpolation kullanmadan önce verilerin doğru bir şekilde belirtilmesi önemlidir.
fillna Yöntemi
Veri temizleme işlemi sırasında NaN değerleri doldurma yöntemlerinden biri de fillna yöntemidir. Fillna yöntemi, verilerdeki NaN değerlerini belirli bir değer veya yöntemle doldurmak için kullanılır.
Bu yöntem için kullanılabilecek yöntemlerden bazıları şunlardır:
Yöntem | Açıklama |
---|---|
Median | Boş olan değerler, verinin median değeri ile doldurulur. |
Mean | Boş olan değerler, verinin mean değeri ile doldurulur. |
Forward-fill/Backward-fill | Önceki veya sonraki değer ile doldurma işlemi yapılır. |
Median yöntemi, verilerin ortanca değeriyle NaN değerlerinin doldurulmasını sağlar. Mean yöntemi ise, verilerin ortalama değeriyle NaN değerlerinin doldurulmasını sağlar. Forward-fill yöntemi, NaN değerlerinin bir önceki değerle doldurulmasını sağlar. Backward-fill yöntemi ise NaN değerlerinin bir sonraki değerle doldurulmasını sağlar.
Fillna yöntemi, veri temizleme işleminde sıklıkla kullanılan bir yöntemdir. Ancak, uygun bir yöntem seçmek için verinin yapısı ve kullanım amacı dikkate alınmalıdır.
Gereksiz Verilerin Çıkarılması
Gereksiz veriler, veri analizi esnasında doğru sonuca ulaşmayı engelleyen ve ortaya çıktığında bu verilerin çıkarılması gereken veri tipleridir. Verileri düzenlemek ve görselleştirmek için kullanılan Pandas ve Matplotlib modülleri, gereksiz verileri tespit etmek ve çıkarmak için de kullanılabilir.
Pandas DataFrame içerisinde belirli bir sütun veya satırda gereksiz veri tespit edilmesi durumunda ise bu veriler kolaylıkla çıkarılabilir. Bunun için öncelikle DataFrame içerisindeki tüm verilerin incelenmesi gerekir. Devamında, belirli bir sütunda veya satırda gereksiz veriler tespit edildiğinde drop()
metodu kullanılarak bu veriler çıkarılabilir.
Bunun yanı sıra isnull()
metodu ile de DataFrame içerisindeki NaN değerleri tespit edilebilir. Elde edilen sonuçlar, doğru bir analiz için uygun değilse bu veriler dropna()
metodu kullanılarak çıkarılabilir.
Örneğin:
Index | Ad | Soyad | Yaş |
---|---|---|---|
1 | Ahmet | Aksu | 25 |
2 | Burak | Mert | NaN |
3 | Can | Özgür | 35 |
Yukarıdaki örnekte, Burak'ın yaş değeri NaN olarak belirlenmiştir. Bu veri analizi esnasında hatalı sonuçlar elde edilmesine neden olabilir. Bu durumda, dropna()
metodu kullanılarak NaN değerlerin bulunduğu satır çıkarılabilir.
Örneğin:
import pandas as pddf = pd.DataFrame({'Ad': ['Ahmet', 'Burak', 'Can'], 'Soyad': ['Aksu', 'Mert', 'Özgür'], 'Yaş': [25, NaN, 35]})df = df.dropna(axis=0, subset=['Yaş'])print(df)
Bu örnekte, dropna()
metodu kullanılarak 'Yaş' sütununda NaN değeri olan 'Burak' satırı çıkarılmıştır.
Matplotlib Nedir?
Matplotlib Python'da verilerin görselleştirilmesine yardımcı olan bir grafik kütüphanesidir. Bu modül, verinin çizgi veya grafik olarak gösterilmesi gibi grafik oluşturma işlemlerinde kullanılır. Matplotlib ile, özellikle büyük veri kümeleri için görsel olarak anlaşılması kolay, etkileyici sunumlar yapmak mümkündür.
Matplotlib'in en büyük avantajlarından biri de, herhangi bir grafik türünü oluşturma konusunda esnekliktir. Üstelik platform bağımsız olduğu için, oluşturulan grafiklerin farklı cihazlarda ve işletim sistemlerinde aynı görüntü kalitesinde görüntülenmesi garanti edilir. Matplotlib'in sunduğu temalar sayesinde, oluşturulan grafiklerin renk paletleri ve stil özellikleri de kolayca değiştirilebilir.
Basit Grafikler ve Özellikleri
Pandas ve Matplotlib kullanarak, verileri görselleştirmek oldukça kolaylaştı. Verilerinizi istediğiniz şekilde temizledikten sonra, görselleştirme işlemlerine geçebilirsiniz. Bu bölümde, basit çizgi, bar ve scatter grafikleri oluşturma işlemini inceleyeceğiz. Bu grafiklerin renk, boyut ve stil özelliklerine de değineceğiz.
Çizgi grafikleri, bir veri setindeki değişimleri göstermek için kullanılır. Tek bir çizgi ya da birden fazla çizgi halinde, farklı renklerde ve stillerde oluşturulabilirler. Bir çizgi grafik oluşturmak için, Matplotlib'in plot() fonksiyonu kullanılır.
Örnek olarak, aşağıdaki kod bloğu, iki farklı çizgi grafiği oluşturur:
```import matplotlib.pyplot as pltimport pandas as pd
df = pd.read_csv('veriler.csv')x = df['x']y1 = df['y1']y2 = df['y2']
plt.plot(x, y1, label='Y1', linestyle='--')plt.plot(x, y2, label='Y2', linestyle=':')plt.legend()plt.show()```Bu kod bloğu, 'veriler.csv' dosyasındaki 'x' ve 'y1' ile 'y2' sütunlarındaki verilere dayalı iki farklı çizgi grafiği oluşturur. İlk çizgi kırmızı renkli çizgi noktalı bir çizgi halinde, ikinci çizgi ise mavimsi yeşil renkli bir çizgi kesikli bir şekilde oluşturulur.
Bar grafikleri, farklı kategorilerdeki verileri karşılaştırmak için kullanılır. Özellikle, birkaç kategorideki verilerin farklı değerlerini göstermek için sıklıkla kullanılır. Bar grafiği oluşturmak için, Matplotlib'in bar() fonksiyonu kullanılır.
Örnek olarak, aşağıdaki kod bloğu, iki farklı bar grafiği oluşturur:
```import matplotlib.pyplot as pltimport pandas as pd
df = pd.read_csv('veriler.csv')x = df['x']y1 = df['y1']y2 = df['y2']
plt.bar(x, y1, label='Y1', color='red', width=0.5)plt.bar(x, y2, label='Y2', color='green', width=0.3)plt.legend()plt.show()```Bu kod bloğu, 'veriler.csv' dosyasındaki 'x' ve 'y1' ile 'y2' sütunlarındaki verilere dayalı iki farklı bar grafiği oluşturur. İlk bar grafiği kırmızı renkli, ikinci bar grafiği yeşil renkli bir şekilde oluşturulur.
Scatter grafikleri, verileri noktalar halinde göstermek için kullanılır. Yatay eksen ve dikey eksen, farklı veri kategorilerini temsil eder. Scatter grafiği oluşturmak için, Matplotlib'in scatter() fonksiyonu kullanılır.
Örnek olarak, aşağıdaki kod bloğu, bir scatter grafiği oluşturur:
```import matplotlib.pyplot as pltimport pandas as pd
df = pd.read_csv('veriler.csv')x = df['x']y = df['y1']
plt.scatter(x, y, label='Y1', color='blue', marker='o')plt.legend()plt.show()```Bu kod bloğu, 'veriler.csv' dosyasındaki 'x' ve 'y1' sütunlarındaki verilere dayalı bir scatter grafiği oluşturur. Veriler, mavi renkli daire şeklindeki noktalarla gösterilir.
Çizgi Grafikleri
Çizgi grafikleri, verilerin düzenlenmesi ve görselleştirilmesinde oldukça önemli grafiklerdir. Pandas ve Matplotlib kullanarak çizgi grafiklerinin oluşturulması oldukça kolaydır. Tek bir çizgi, birden fazla çizgi veya farklı çizgi stilleri ile çizgi grafikleri oluşturabilirsiniz.
Tek bir çizgi oluşturmak için, ilgili verileri tek bir DataFrame içinde saklamak gerekir. Bu veriler daha sonra plot() fonksiyonuyla çizdirilebilir. Birden fazla çizgi oluşturmak için ise, verilerin ayrı DataFrame'lerde tutulması gerekir. Bu DataFrame'ler de plot() fonksiyonu ile tek bir grafikte birleştirilebilir.
Çizgi grafiklerinde kullanılan farklı çizgi stilleri, grafiklerin okunabilirliğini artırmak için oldukça önemlidir. Pandas ve Matplotlib, çizgi stillerinin belirlenmesinde oldukça esnek bir yapıya sahiptir. Bu çizgi stilleri, grafiklerin görsel tasarımına önemli bir katkı sağlar.
Tüm bu özelliklerin yanı sıra, çizgi grafiklerinde x ve y ekseni etiketleri, eksen aralığı, eksenler arasındaki boşluk ve çizgi genişliği gibi farklı özellikler de belirlenebilir. Pandas ve Matplotlib, çizgi grafikleri oluşturma sürecinde bu özelliklerin kolay bir şekilde belirlenmesine olanak tanır.
Sonuç olarak, Pandas ve Matplotlib kullanarak tek bir çizgi, birden fazla çizgi veya farklı çizgi stilleri ile çizgi grafikleri oluşturmak oldukça kolaydır. Çizgi grafiklerinde kullanılan farklı özelliklerin belirlenmesi de grafiklerin okunabilirliği açısından oldukça önemlidir. Pandas ve Matplotlib, çizgi grafiklerinin görselleştirilmesinde oldukça etkili araçlardır.
Bar Grafikleri
Bar grafikleri, belirli bir sütunda bulunan kategorik verilerin görselleştirilmesinde kullanılan bir grafik türüdür. Matplotlib ile oluşturulan bar grafikleri, farklı çeşitlerde ve özelliklerde yapılabilir.
Yatay ve Dikey Bar Grafikleri: Bar grafikleri, yatay veya dikey olarak oluşturulabilir. Yatay bar grafikleri sütundaki değerlerin yan yana gösteriminde kullanılırken, dikey bar grafikleri ise sütun içindeki değerlerin aynı kategoride karşılaştırılmasında kullanılır.
Yatay Bar Grafikleri | Dikey Bar Grafikleri |
---|---|
![]() | ![]() |
İstifli Bar Grafikleri: Birden fazla veri seti içeren sütunların gösteriminde kullanılabilir. Bu grafik türü, farklı kategorilerdeki değerlerin alt alta toplamını gösterir ve bunları birleştirerek bir grafik oluşturur. İstifli bar grafikleri, kategori bazlı olarak farklı renklerle vurgulanabilir.
Bu grafikleri oluşturmak için, Pandas DataFrame kullanılarak veri ön işleme yapıldıktan sonra matplotlib pyplot kütüphanesi kullanılabilir. Belirli bir veri setinin bar grafiklerini oluşturmak için, grafik tipi (yatay/dikey), kategori sütunu, bar genişliği, renk kodu ve etiketler gibi grafik özellikleri belirtilmelidir.
Örneğin, aşağıdaki kod satırları ile yatay bar grafikleri oluşturulabilir:
import pandas as pdimport matplotlib.pyplot as pltdata = pd.read_csv('veri.csv')kategori = data['Kategori']degerler = data['Deger']plt.barh(kategori, degerler, color='green')plt.xlabel('Degerler')plt.ylabel('Kategori')plt.title('Yatay Bar Grafikleri')plt.show()
Bu kodlarla, sütundaki değerlerin yatay olarak gösterildiği bir bar grafik oluşturulur. Aynı şekilde, veriler dikey olarak gösterilecek şekilde de bar grafikleri oluşturulabilir.
Scatter Grafikleri
Scatter Grafikleri Renk, Boyut ve Stillerle Düzenleme
Scatter grafikleri, iki değişken arasındaki ilişkiyi görsel olarak göstermek için kullanılan grafiklerdir. Bu grafiklerde, her bir veri noktası bir nokta veya sembolle gösterilir ve veri noktalarının nerede bütünleştiği bir fotoğraf ortaya çıkar. Bu grafiklerin yönlendirilmesi için renk, boyut ve stiller kullanılabilir.
Scatter grafiklerinin renk özelliği, her veri noktasının farklı bir renkte gösterilmesiyle elde edilir. Bu özellik, üçüncü bir boyut eklemek ve verileri daha ayrıntılı bir şekilde analiz etmek için kullanılır. Renk seçimi, verilerin gösterilmesinde kullanılan renk paletleriyle yapılabilir. Örnek olarak, başarı oranlarını temsil eden yeşil bir renk paleti ve başarısızlık oranlarını temsil eden kırmızı bir renk paleti kullanabilirsiniz.
Ayrıca, scatter grafiklerinde veri noktalarının boyutu da belirleyici bir faktördür. Veriler arasındaki farklılıkları, büyük veya küçük boyutlu veri noktalarıyla gösterebilirsiniz. Bu, grafikte bir düzen oluşturarak verilerin daha çok anlaşılmasına yardımcı olur.
Scatter grafiklerinde stil özellikleri de kullanılabilir. Grafiklerin stil özellikleri, veriler arasında belirgin bir farklılık oluşturarak görsel olarak daha ilgi çekici hale getirir. Örneğin, veri noktalarını daha belirgin hale getirmek için etrafına siyah bir çerçeve çizebilirsiniz ya da her veri noktasını farklı bir sembolle göstererek grafikte daha fazla ayrıntı sağlayabilirsiniz.
Bu yaratıcı özellikler sayesinde, scatter grafikler herhangi bir veri setindeki trendleri, dağılımları ve ilişkileri sunmak için çok kullanışlıdır.
Grafiklerin Kaydedilmesi
Makalede ele aldığımız Pandas ve Matplotlib modülleri ile verilerin düzenlenmesi ve görselleştirilmesi işlemlerinin yanı sıra, oluşturulan grafiklerin kaydedilmesi de oldukça önemlidir. Oluşturulan grafikler farklı formatlarda dışarı aktarılabilir ve ileride tekrar kullanım amaçlarına hizmet edebilir.
Matplotlib modülünün sağladığı fonksiyonlar ile oluşturulan grafiklerin farklı formatlarda kaydedilmesi mümkündür. Kaydetmek istediğiniz grafik türüne göre aşağıdaki formatları kullanabilirsiniz:
- PNG (Portable Network Graphics) formatı: Basit görüntü dosyaları için tavsiye edilir. En uygun kayıpsız sıkıştırma yöntemi ile kaydedilebilir. Kod parçacığı aşağıdaki gibi kullanılabilir:
- PDF (Portable Document Format) formatı: Yüksek kaliteli yazdırılabilir dosyalar için tavsiye edilir. Kod parçacığı aşağıdaki gibi kullanılabilir:
- JPEG (Joint Photographic Experts Group) formatı: Fotoğraf benzeri görüntüler için kullanılır. Ancak kayıplı sıkıştırma yöntemi nedeniyle kalite kaybı yaşanabilir. Kod parçacığı aşağıdaki gibi kullanılabilir:
- SVG (Scalable Vector Graphics) formatı: Zoom yapılabilen grafikler için tavsiye edilir. Kod parçacığı aşağıdaki gibi kullanılabilir:
import matplotlib.pyplot as plt |
plt.savefig("resim.png") |
import matplotlib.pyplot as plt |
plt.savefig("resim.pdf") |
import matplotlib.pyplot as plt |
plt.savefig("resim.jpeg") |
import matplotlib.pyplot as plt |
plt.savefig("resim.svg") |
Özellikle büyük veri setleriyle çalışırken, görselleştirme sonucu oluşan grafiklerin dışarıya aktarılması, daha sonra analizlerin yapılması veya sunumlar hazırlanması için oldukça yararlıdır. Bu yöntemler ile oluşturulan görüntülerin kalitesi yüksektir ve ilgili amaçlara uygun formatlarda dışarıya aktarılabilir.