Python İle Veri Seti Üzerinden Görselleştirme Nasıl Yapılır?

Python İle Veri Seti Üzerinden Görselleştirme Nasıl Yapılır?
Python İle Veri Seti Üzerinden Görselleştirme Nasıl Yapılır?

Ön Hazırlık: Gerekli Kütüphanelerin Kurulumu

Python projelerinizde görselleştirme yapabilmek için temel veri işleme ve grafik çizim kütüphanelerine ihtiyacınız vardır. 2026 yılı itibarıyla standart dağıtımlarda bu kütüphaneler oldukça optimize edilmiş durumdadır. Projenize başlamadan önce terminal üzerinden gerekli paketleri yüklediğinizden emin olun.

pip install pandas matplotlib seaborn

Yukarıdaki komut, veri manipülasyonu için Pandas, temel grafikler için Matplotlib ve daha gelişmiş istatistiksel görselleştirmeler için Seaborn kütüphanelerini sisteminize dahil edecektir. Kurulumun başarılı olduğunu doğrulamak için Python ortamınızda import pandas as pd komutunu çalıştırabilirsiniz.

Veri Setini Hazırlama ve Okuma

Görselleştirme sürecinin ilk adımı, veriyi doğru formatta belleğe almaktır. Genellikle CSV veya Excel dosyaları ile çalışırız. Pandas kütüphanesi, veriyi bir "DataFrame" (tablo yapısı) içerisine alarak görselleştirme aşamasına hazırlar.

import pandas as pd

# Örnek bir veri seti okuma işlemi
data = pd.read_csv('satis_verileri.csv')

# İlk 5 satırı kontrol ederek verinin yapısını anlayalım
print(data.head())

Bu kod bloğu, dışarıdan bir veriyi içeri aktarır. head() fonksiyonu, verinin sütun isimlerini ve veri tiplerini görmenizi sağlar. Görselleştirmeye geçmeden önce mutlaka eksik verileri (NaN değerleri) kontrol etmelisiniz.

Matplotlib ile Temel Çizgi Grafik Oluşturma

Matplotlib, Python görselleştirme dünyasının temel taşıdır. Zaman serisi verilerini veya sürekli değişkenleri göstermek için çizgi grafikler (line plots) en yaygın kullanılan yöntemdir. Aşağıdaki örnekte, zaman içindeki bir değer değişimini görselleştiriyoruz.

import matplotlib.pyplot as plt

plt.figure(figsize=(10, 6))
plt.plot(data['tarih'], data['satis_miktari'], marker='o', linestyle='-', color='b')
plt.title('Aylık Satış Miktarları')
plt.xlabel('Tarih')
plt.ylabel('Miktar')
plt.grid(True)
plt.show()

Bu kod, veriyi iki boyutlu bir düzlemde çizer. figsize parametresi grafiğin boyutunu belirlerken, grid(True) komutu okunabilirliği artırmak için arka plana ızgara ekler. marker='o' ise veri noktalarının belirginleşmesini sağlar.

Seaborn ile İstatistiksel Dağılım Görselleştirme

Seaborn, Matplotlib üzerine inşa edilmiş daha modern ve estetik bir arayüz sunar. İstatistiksel ilişkileri göstermek için Seaborn'un boxplot veya histplot fonksiyonları oldukça güçlüdür. Özellikle aykırı değerleri (outliers) tespit etmek için kutu grafikleri (boxplot) kullanırız.

import seaborn as sns

plt.figure(figsize=(8, 5))
sns.boxplot(x='kategori', y='fiyat', data=data)
plt.title('Kategorilere Göre Fiyat Dağılımı')
plt.show()

Bu görselleştirme, her kategorideki fiyatların medyanını, çeyreklerini ve olası aykırı değerlerini tek bakışta görmenizi sağlar. Seaborn, otomatik olarak renk paletlerini ve eksen etiketlerini optimize ederek daha profesyonel bir çıktı üretir.

Görselleştirme Yöntemleri Karşılaştırma Tablosu

Yöntem Kullanım Amacı Avantajı
Çizgi Grafik Zaman serisi analizi Trendleri göstermede çok başarılıdır.
Sütun Grafik Kategorik karşılaştırma Gruplar arası farkları netleştirir.
Kutu Grafiği İstatistiksel dağılım Aykırı değerleri tespit eder.
Dağılım Grafiği Değişkenler arası ilişki Korelasyon analizi için idealdir.

Kritik Uyarılar ve Güvenlik

Veri görselleştirme yaparken, hassas verileri (kişisel bilgiler, şifreler, özel finansal veriler) asla grafiğe dahil etmeyin. Özellikle paylaşılan raporlarda veri anonimleştirme (maskeleme) tekniklerini kullanın. Ayrıca, büyük veri setlerini görselleştirirken belleği tüketmemek için veriyi örnekleyerek (sampling) işlemeyi tercih edin.

Sıkça Sorulan Sorular

Python görselleştirme için neden Pandas kullanmalıyım?

Pandas, veriyi temizleme, filtreleme ve gruplama konusunda rakipsizdir. Görselleştirme kütüphaneleri doğrudan Pandas nesneleriyle (DataFrame) uyumlu çalışır, bu da kod yazma süresini ciddi oranda kısaltır.

Grafiklerim neden çok yavaş yükleniyor?

Veri setiniz çok büyükse, binlerce noktayı çizdirmek performansı düşürür. Bu durumda data.sample(1000) komutu ile veriden rastgele örnek alarak görselleştirme yapmayı deneyin.

Hangi kütüphaneyi seçmeliyim?

Basit ve hızlı grafikler için Matplotlib, daha estetik ve istatistiksel odaklı grafikler için Seaborn, interaktif web tabanlı grafikler için ise Plotly kütüphanesini öneririz.

Grafiklerdeki Türkçe karakter sorununu nasıl çözerim?

Matplotlib'de Türkçe karakter kullanırken yazı tipi (font) ayarı yapmanız gerekebilir. plt.rcParams['font.family'] = 'DejaVu Sans' gibi komutlarla desteklenen bir font seçerek bu sorunu aşabilirsiniz.

Görselleştirmeyi bir dosyaya nasıl kaydederim?

plt.show() yerine plt.savefig('grafik.png', dpi=300) komutunu kullanarak grafiğinizi yüksek çözünürlüklü bir görsel olarak kaydedebilirsiniz.

İleri Düzey Görselleştirme: Plotly ile İnteraktif Grafikler

Statik grafikler raporlama için mükemmel olsa da, verinin derinliklerine inmek istediğinizde interaktif çözümler kaçınılmaz hale gelir. Plotly, kullanıcıların grafik üzerinde gezinebildiği, yakınlaştırma yapabildiği ve veri noktalarının üzerine gelerek detayları görebildiği dinamik bir kütüphanedir.

Plotly Express ile Hızlı Başlangıç

Plotly Express, karmaşık görselleştirmeleri tek bir satır kodla oluşturmanıza olanak tanıyan üst düzey bir arayüzdür. Aşağıdaki örnekte, bir veri setindeki değişkenler arasındaki ilişkiyi interaktif bir dağılım grafiği (scatter plot) ile nasıl göstereceğinizi görebilirsiniz.

import plotly.express as px
import pandas as pd

# Örnek veri seti oluşturma
df = pd.DataFrame({
    "x": [1, 2, 3, 4, 5],
    "y": [10, 15, 13, 17, 20],
    "kategori": ["A", "B", "A", "C", "B"]
})

# İnteraktif dağılım grafiği oluşturma
fig = px.scatter(df, x="x", y="y", color="kategori", title="İnteraktif Dağılım Grafiği")
fig.show()

Görselleştirme Sürecinde Hata Ayıklama (Debugging) İpuçları

Veri görselleştirme sırasında karşılaşılan en yaygın sorunlar genellikle veri tiplerindeki uyumsuzluklardan veya eksik değerlerden kaynaklanır. Görselleştirme öncesi verinizi temizlemek, grafiklerdeki "boşluk" veya "hatalı veri" sorunlarını ortadan kaldırır.

Yaygın Hatalar ve Çözümleri

  • Veri Tipi Uyuşmazlığı: Kategorik verilerin sayısal olarak algılanması grafiğin eksenlerini bozar. df['sütun'].astype('category') komutu ile verinizi doğru tipe dönüştürün.
  • Eksik Değerler (NaN): Seaborn ve Matplotlib, eksik değerler içeren sütunlarda hata verebilir veya grafiği hatalı çizebilir. df.dropna() veya df.fillna(0) ile veriyi temizleyin.
  • Bellek Taşması: Milyonlarca satırlık veriyi doğrudan çizdirmeye çalışmak sisteminizi kilitler. Bu durumda df.sample(n=1000) kullanarak verinin bir alt kümesiyle prototip oluşturun.

Aşağıdaki kod bloğu, bir görselleştirme öncesi veri setini nasıl güvenli bir şekilde kontrol edebileceğinizi gösterir:

# Veri setindeki eksik değerleri kontrol et
print(df.isnull().sum())

# Eğer eksik değer varsa temizle
df_clean = df.dropna()

# Sütun tiplerini doğrula
print(df_clean.dtypes)

# Görselleştirme öncesi ilk 5 satırı incele
print(df_clean.head())

Büyük Veri Setlerinde Performans Optimizasyonu

Veri setiniz büyüdükçe, görselleştirme kütüphanelerinin render süresi ciddi oranda artar. Performansı artırmak için şu stratejileri izleyebilirsiniz:

  1. Rasterlaştırma: Çok sayıda nokta içeren dağılım grafiklerinde rasterized=True parametresini kullanarak dosya boyutunu küçültün.
  2. Aggregasyon (Özetleme): Veriyi ham haliyle değil, gruplandırılmış (groupby) haliyle görselleştirin. Örneğin, günlük veriyi aylık ortalamalara indirgemek grafik performansını %90 oranında artırır.
  3. Donanım Hızlandırma: Mümkünse GPU destekli görselleştirme araçlarına veya kütüphanelerine (Datashader gibi) geçiş yapın.

Sonuç

Python ile veri seti üzerinden görselleştirme süreci, doğru araçları kullanmayı ve verinin hikayesini anlamayı gerektirir. Bu rehberde öğrendiğiniz Matplotlib ve Seaborn teknikleri, veri analizi projelerinizde temel oluşturacaktır. Bir sonraki adım olarak, interaktif grafikler oluşturmanızı sağlayan Plotly kütüphanesini inceleyebilir ve verilerinizi web sayfalarında dinamik hale getirmeyi deneyebilirsiniz. İyi çalışmalar dileriz.

Bu yazıya tepkinizi paylaşın:
Deniz Aydın

On yıllık içerik üretimi deneyimiyle karmaşık süreçleri herkesin anlayabileceği basit adımlara dönüştürüyorum. Pratik ev çözümleri ve hayatı kolaylaştıran teknikler konusunda uzmanım.

Yorumlar (0)

Yorum Yaz