PYTHON

NumPy ile Sayısal Hesaplamalar: Veri Biliminin Temeli

📅 19.08.2025 ⏱️ 10 dk okuma 👤 AI Python Eğitimi

🔢 NumPy Nedir?

NumPy (Numerical Python), Python'da bilimsel hesaplamalar için en temel kütüphanedir. Çok boyutlu diziler ve bu diziler üzerinde hızlı işlemler yapmanızı sağlar.

NumPy'nin Avantajları:

  • Hız: C dilinde yazılmış, son derece hızlı
  • Bellek Verimliliği: Python listelerinden çok daha az bellek kullanır
  • Vektörize İşlemler: Döngü yazmadan toplu işlemler
  • Broadcasting: Farklı boyutlardaki dizilerde işlem

📦 NumPy Kurulumu

NumPy'yi pip ile kolayca kurabilirsiniz:

pip install numpy

🚀 Temel NumPy Kullanımı

Dizi Oluşturma

NumPy dizileri (array) oluşturmanın farklı yolları:

import numpy as np

# Liste'den dizi oluşturma
arr1 = np.array([1, 2, 3, 4, 5])

# Çok boyutlu dizi
matrix = np.array([[1, 2, 3], [4, 5, 6]])

# Sıfırlarla dolu dizi
zeros = np.zeros((3, 4))  # 3x4 boyutunda

# Birlerle dolu dizi  
ones = np.ones((2, 3))

# Belirli aralıkta sayılar
range_arr = np.arange(0, 10, 2)  # [0, 2, 4, 6, 8]

# Eşit aralıklı sayılar
linspace_arr = np.linspace(0, 1, 5)  # 0'dan 1'e 5 eşit parça

Dizi Özellikleri

arr = np.array([[1, 2, 3], [4, 5, 6]])

print(f"Shape: {arr.shape}")      # (2, 3)
print(f"Size: {arr.size}")        # 6  
print(f"Ndim: {arr.ndim}")        # 2
print(f"Dtype: {arr.dtype}")      # int64

🧮 Matematiksel İşlemler

Temel İstatistikler

data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

print(f"Ortalama: {np.mean(data)}")        # 5.5
print(f"Medyan: {np.median(data)}")        # 5.5  
print(f"Standart Sapma: {np.std(data)}")   # 2.87
print(f"Varyans: {np.var(data)}")          # 8.25
print(f"Minimum: {np.min(data)}")          # 1
print(f"Maksimum: {np.max(data)}")         # 10

Matematiksel Fonksiyonlar

arr = np.array([1, 4, 9, 16, 25])

# Karekök
sqrt_arr = np.sqrt(arr)

# Logaritma
log_arr = np.log(arr)

# Trigonometrik fonksiyonlar
angles = np.array([0, 30, 45, 60, 90]) * np.pi / 180
sin_values = np.sin(angles)
cos_values = np.cos(angles)

🎲 Rastgele Sayılar

# Rastgele sayı üreteci ayarlama
np.random.seed(42)

# 0-1 arası rastgele sayılar
random_nums = np.random.rand(5)

# Belirli aralıkta rastgele tamsayılar  
random_ints = np.random.randint(1, 100, size=10)

# Normal dağılım
normal = np.random.normal(0, 1, 1000)  # ortalama=0, std=1

🔧 Dizi Manipülasyonu

Reshaping (Yeniden Şekillendirme)

arr = np.arange(12)
reshaped = arr.reshape(3, 4)  # 3x4 matris

# Düzleştirme
flattened = reshaped.flatten()

# Transpoz
transposed = reshaped.T

Dizileri Birleştirme

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

# Yatay birleştirme
horizontal = np.hstack([arr1, arr2])

# Dikey birleştirme  
vertical = np.vstack([arr1, arr2])

# Genel birleştirme
concatenated = np.concatenate([arr1, arr2])

📊 Pratik Örnek: Veri Analizi

# Öğrenci notları örneği
notlar = np.array([85, 92, 78, 96, 88, 91, 84, 89, 93, 87])

print(f"Toplam öğrenci: {len(notlar)}")
print(f"Ortalama not: {np.mean(notlar):.2f}")
print(f"Medyan not: {np.median(notlar):.2f}")  
print(f"Standart sapma: {np.std(notlar):.2f}")
print(f"En yüksek not: {np.max(notlar)}")
print(f"En düşük not: {np.min(notlar)}")

# 90'dan yüksek notlar
yuksek_notlar = notlar[notlar >= 90]
print(f"90+ not alan öğrenci sayısı: {len(yuksek_notlar)}")

⚡ Performans İpuçları

  • Vektörize İşlemler: Döngü yerine NumPy fonksiyonları kullanın
  • Broadcasting: Farklı boyutlu dizilerle doğrudan işlem yapın
  • In-place İşlemler: Bellek tasarrufu için mümkün olduğunda kullanın
  • Doğru Veri Tipi: İhtiyacınıza uygun dtype seçin

🎯 Sonuç

NumPy, veri bilimi ve makine öğrenmesi projelerinin temel taşıdır. Bu rehberde öğrendiklerinizle artık NumPy ile etkili sayısal hesaplamalar yapabilirsiniz. Pandas, Matplotlib ve Scikit-learn gibi diğer kütüphaneler de NumPy temeli üzerine inşa edilmiştir.

Etiketler: numpy veri-bilimi python matematik

Bu yazıyı paylaş

Twitter Facebook LinkedIn

🚀 Python ve AI öğrenmeye devam et!

Ücretsiz Python kursumuza katıl ve AI dünyasında kariyerine başla.

Python Kursuna Başla