Python NumPy

Veri analizi, bilimsel hesaplamalar ve yapay zeka projelerinde performans kritik bir faktördür. İşte bu noktada NumPy (Numerical Python) kütüphanesi devreye girer. Python’un temel veri yapısı olan listelere kıyasla çok daha hızlı çalışan çok boyutlu dizi (array) işlemleri ile tanınır.

NumPy, vektörel işlemler, matris hesaplamaları ve bilimsel analizler için optimize edilmiştir. Pandas, Scikit-Learn, TensorFlow gibi birçok popüler kütüphane, altyapı olarak NumPy kullanır.


NumPy Nasıl Kurulur?

Kurulumu oldukça basittir:

pip install numpy

Python dosyana dahil etmek için:

import numpy as np


Neden NumPy Kullanmalıyız?

  • Listelere göre çok daha hızlıdır
  • Az kodla karmaşık işlemleri kolayca yapmanızı sağlar
  • Bilimsel hesaplamalar için optimize edilmiştir
  • Matris, vektör ve istatistik işlemlerini destekler

Temel NumPy Dizisi (ndarray) Oluşturma

import numpy as np

a = np.array([1, 2, 3])             # 1D dizi
b = np.array([[1, 2], [3, 4]])      # 2D dizi (matris)

print(a.shape)  # (3,)
print(b.shape)  # (2, 2)

NumPy dizileri sabit tiptedir (homojen). Bu nedenle hem daha az yer kaplar hem de hızlıdır.


Dizi Oluşturma Fonksiyonları

np.zeros((3, 3))      # 3x3 sıfır matrisi
np.ones((2, 2))       # 2x2 birler matrisi
np.eye(4)             # 4x4 birim matris
np.arange(0, 10, 2)   # 0'dan 10'a kadar 2 artan dizi
np.linspace(0, 1, 5)  # 0 ile 1 arasında eşit aralıklı 5 sayı


Temel Aritmetik İşlemler

NumPy dizileriyle doğrudan matematiksel işlemler yapılabilir.

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

print(x + y)       # Toplama
print(x * y)       # Çarpma (eleman bazlı)
print(x @ y)       # Matris çarpımı (dot product)

Ayrıca np.mean(), np.std(), np.max() gibi istatistiksel fonksiyonlar da vardır.


Diziler Üzerinde İşlemler

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

print(arr[0, 1])     # 0. satır, 1. sütun: 2
print(arr[:, 1])     # Tüm satırlardaki 1. sütun
print(arr[1])        # 1. satır

Dilimleme (slicing) işlemleri sayesinde çok hızlı veri manipülasyonları yapılabilir.


Şekil Değiştirme (Reshape) ve Transpoz

a = np.array([1, 2, 3, 4, 5, 6])
b = a.reshape((2, 3))   # 2 satır 3 sütunluk matris

print(b.T)              # Transpoz (satır ↔ sütun değişimi)


Mantıksal Filtreleme

veriler = np.array([10, 20, 30, 40, 50])
print(veriler[veriler > 30])  # 40 ve 50

Bu tarz filtrelemeler veri analizinde oldukça kullanışlıdır.


python numpy kullanımı detaylı anlatım

Python’da bilimsel veya sayısal işlem yapıyorsan NumPy kaçınılmaz bir araçtır. Özellikle listelere göre çok daha performanslı olması, çok boyutlu veri işlemleri, vektör-matris aritmetiği ve istatistiksel analizleri sayesinde veri bilimi dünyasında temel yapı taşıdır.

NumPy öğrenmek, hem veri analizi hem de yapay zeka gibi ileri düzey uygulamalara sağlam bir temel oluşturur. Kısaca Python ile sayılarla uğraşıyorsan NumPy bilmek zorundasın!


Sık Sorulan Sorular

NumPy nedir ve neden önemlidir?
NumPy, Python için bilimsel hesaplamalar yapmayı kolaylaştıran bir kütüphanedir. Performanslı çalışır ve matris/varyans işlemleri için optimize edilmiştir.

np.array() ile liste farkı nedir?
np.array(), sabit tipte çalışır ve işlemleri çok daha hızlı yapar. Ayrıca matris gibi çok boyutlu yapılar destekler.

NumPy hangi alanlarda kullanılır?
Veri bilimi, makine öğrenimi, mühendislik hesaplamaları, yapay zeka, finansal analiz, istatistik vb.

reshape ne işe yarar?
Bir dizinin şeklini (satır-sütun) değiştirmeyi sağlar. Örneğin 1D bir dizi 2D’ye dönüştürülebilir.

np.mean(), np.max(), np.std() ne işe yarar?
Sırasıyla ortalama, maksimum ve standart sapma hesaplamaları yapar.

NumPy ile görselleştirme yapılır mı?
Direkt görselleştirme yapılmaz ama Matplotlib ve Seaborn gibi kütüphanelerle birlikte çok kullanılır.


Sonuç

Veriyle çalışan herkesin Python’daki en büyük yardımcısı şüphesiz NumPy’dir. Listelerden çok daha hızlı çalışan bu kütüphane, bilimsel hesaplamalar için olmazsa olmazdır. NumPy öğrendiğinizde, Pandas, Scikit-Learn gibi kütüphaneleri anlamak da çok daha kolaylaşır.

guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments