Histogramlar, verilerin dağılımını görselleştirmenin önemli bir yoludur. Özellikle sürekli verilerin analizinde kullanılır ve bu sayede verilerin hangi aralıklarda yoğunlaştığını kolaylıkla görebiliriz. Python, histogramları oluşturmayı ve özelleştirmeyi kolaylaştıran pek çok kütüphaneye sahiptir. Bu yazıda, Python ile histogram oluşturma örneklerine yer vereceğiz.
Python ile Histogram Oluşturma
Python’da histogram oluşturmak için sıklıkla kullanılan iki ana kütüphane bulunmaktadır: Matplotlib ve Seaborn. Her iki kütüphane de verilerinizi görselleştirmenin yanı sıra histogramları özelleştirmenizi sağlar.
Matplotlib Kullanarak Histogram Oluşturma
Matplotlib, Python’da en popüler veri görselleştirme kütüphanelerinden biridir. Histogram oluşturma yeteneği sayesinde veri dağılımlarını görselleştirmenizi sağlar.
Matplotlib ile Basit Histogram Oluşturma
Matplotlib ile histogram oluşturmak için aşağıdaki adımları izleyebilirsiniz:
import matplotlib.pyplot as plt
import numpy as np
# Rastgele veri oluşturma
np.random.seed(0)
veri = np.random.randn(1000)
# Histogramı oluşturma
plt.hist(veri, bins=30, alpha=0.7, color='blue')
plt.title('Basit Histogram')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
plt.grid(axis='y', alpha=0.75)
plt.show()
Matplotlib ile Histogram Özelleştirme
Histogramınızı daha ilgi çekici ve anlaşılır hale getirmek için çeşitli özelleştirmeler yapabilirsiniz. Örneğin, çubukların rengini değiştirebilir, kenarlık ekleyebilir veya frekans değerlerini çubukların üstüne yazdırabilirsiniz.
plt.hist(veri, bins=30, edgecolor='black', color='lightblue')
# Kenarlık ve renk ekleme
plt.title('Özelleştirilmiş Histogram')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
# Frekans değerlerini yazdırma
for i in range(len(n)): # n: histogramın bin frekans değerleri
plt.text(bins[i] + 0.1, n[i], str(n[i]), fontsize=9)
plt.grid(axis='y', alpha=0.75)
plt.show()
Seaborn Kullanarak Histogram Oluşturma
Seaborn, Matplotlib üzerine inşa edilmiş ve istatistiksel veri görselleştirmeleri için tasarlanmış bir Python kütüphanesidir. Seaborn’un sunduğu gelişmiş özellikler sayesinde daha estetik ve bilgi verici histogramlar oluşturabilirsiniz.
Seaborn ile Basit Histogram Oluşturma
Seaborn ile histogram oluşturmak için aşağıdaki adımları izleyebilirsiniz:
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# Rastgele veri oluşturma
np.random.seed(0)
veri = np.random.randn(1000)
# Basit histogram oluşturma
sns.histplot(data=veri, bins=30, kde=False)
plt.title('Seaborn ile Basit Histogram')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
plt.grid(axis='y', alpha=0.75)
plt.show()
Seaborn ile Histogram Özelleştirme
Seaborn kullanarak histogramları daha da özelleştirmek için çeşitli parametreler ekleyebilirsiniz. Örneğin, yoğunluk eğrisi (KDE) ekleyebilir, çubukların rengini değiştirebilir veya çubukların şeffaflığını ayarlayabilirsiniz.
sbs.histplot(data=veri, bins=30, kde=True, color='purple', alpha=0.7)
plt.title('KDE Eğrili Histogram')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
plt.grid(axis='y', alpha=0.75)
plt.show()
Pandas ile Histogram Oluşturma
Pandas, veri analizi ve manipülasyonu için popüler bir Python kütüphanesidir. Veri çerçeveleri (DataFrame) ve seriler (Series) üzerinde histogramlar oluşturmanızı sağlayarak veri dağılımlarını hızlı bir şekilde görselleştirmenizi sağlar.
Pandas ile Basit Histogram Oluşturma
Pandas ile histogram oluşturmak için aşağıdaki adımları izleyebilirsiniz:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# Rastgele veri oluşturma
np.random.seed(0)
data = {'değerler': np.random.randn(1000)}
df = pd.DataFrame(data)
# Basit histogram oluşturma
plt.hist(df['değerler'], bins=30, alpha=0.7, color='green')
plt.title('Pandas ile Basit Histogram')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
plt.grid(axis='y', alpha=0.75)
plt.show()
Pandas ile Histogram Özelleştirme
Pandas kullanarak histogramları özelleştirmek için matplotlib’in sunduğu çeşitli özelleştirme seçeneklerini kullanabilirsiniz. Çubuk renkleri, kenarlıklar ve frekans değerleri eklemek gibi özellikler bu seçenekler arasında yer alır.
plt.hist(df['değerler'], bins=30, edgecolor='black', color='orange')
plt.title('Özelleştirilmiş Pandas Histogramı')
plt.xlabel('Değerler')
plt.ylabel('Frekans')
for i in range(len(n)):
plt.text(bins[i] + 0.1, n[i], str(n[i]), fontsize=9)
plt.grid(axis='y', alpha=0.75)
plt.show()
Kullanım Senaryoları: Gerçek Dünya Uygulamaları
Histogramlar, çeşitli alanlarda veri analizi için önemli bir araçtır. Aşağıda bazı gerçek dünya senaryolarında histogram kullanımına dair örnekler bulunmaktadır:
- Mali Analiz: Bir şirketin mali verilerini analiz ederken gelirlerin dağılımını görmek için histogramlar kullanılabilir. Örneğin, belirli bir sektördeki işletmelerin yıllık gelirlerini gösteren bir histogram, sektör içinde hangi gelir aralıklarının yaygın olduğunu görselleştirir.
- Sosyal Medya Analizi: Sosyal medya platformlarında kullanıcı etkileşimlerini analiz etmek için histogramlar kullanılabilir. Örneğin, bir Instagram gönderisinin aldığı beğenilerin sayısını gösteren bir histogram, gönderilerin aldığı beğen sayılarını görselleştirir ve hangi beğeni aralıklarının daha fazla tercih edildiğini gösterir.
- Araç Satışları: Bir otomotiv bayii için araç satışlarının marka bazında dağılımını incelemek için histogramlar kullanılabilir. Örneğin, farklı markalarda satılan araç sayısını gösteren bir histogram, hangi marka araçların daha fazla tercih edildiğini ve hangi markaların düşük talep gördüğünü ortaya koyar.
Sonuç
Python ile histogram oluşturmak ve özelleştirmek, veri analizi ve görselleştirmesi açısından önemli bir adımdır. Matplotlib, Seaborn ve Pandas gibi kütüphaneler sayesinde farklı veri türleri için kolayca histogramlar oluşturabilir ve bu histogramları istediğiniz şekilde özelleştirebilirsiniz.
Histogramlar, veri dağılımlarını anlamanın yanı sıra anormal değerleri tespit etmek gibi önemli işlevlere de sahiptir. Bu nedenle, veri bilimi ve analitiği alanlarında çalışan herkesin histogramlarla çalışma yeteneğine sahip olması büyük önem taşır.
Eğer bu yazıyı faydalı bulduysanız veya başka konularda yazmamı isterseniz lütfen yorumlarda belirtin! Teşekkürler!