Python – NumPy Kütüphanesi

NumPy, Python’da bilimsel hesaplama ve veri işleme için kullanılan güçlü bir kütüphanedir. NumPy, çok boyutlu dizileri ve matrisleri desteklerken, bu diziler üzerinde çalışmak için yüksek düzeyde işlevsellik sağlar. Ayrıca, bu diziler üzerinde hızlı matematiksel işlemler yapabilen ve rastgele sayı üretebilen fonksiyonlar da içerir.

NumPy, bilimsel ve mühendislik hesaplamaları yapmak için sıklıkla kullanılır. Özellikle, veri analizi, makine öğrenmesi, yapay zeka gibi alanlarda çok yaygın olarak kullanılır.

NumPy’nin temel özellikleri ve kullanım alanları:

  • Çok Boyutlu Diziler (Arrays): NumPy, tek boyutlu ve çok boyutlu dizileri destekler. Bu diziler, aynı türden verileri içerebilir ve matris gibi çok boyutlu veri yapılarını temsil etmek için kullanılabilir.
  • Veri İşleme ve Diziler Üzerinde İşlem: NumPy, diziler üzerinde vektörel ve matris işlemleri gerçekleştirebilir. Bu, işlemleri basitleştirir ve optimize eder.
  • Rastgele Sayı Üretimi: NumPy, rastgele sayı üretme işlevleri sağlar. Bu, simülasyonlar ve istatistiksel analizler için faydalıdır.
  • Lineer Cebir İşlemleri: NumPy, lineer cebir işlemleri yapmak için işlevler sağlar. Bu, matris çarpımı, ters matris bulma, determinant hesaplama gibi işlemleri içerir.
  • Broadcasting: NumPy, farklı şekillerdeki diziler arasında işlem yapmayı kolaylaştıran yayınlanma (broadcasting) özelliğine sahiptir.

NumPy’nin temel veri yapısı numpy.ndarray‘dir ve bu veri yapısı üzerinde birçok işlem ve işlev mevcuttur. Örneğin, aşağıdaki gibi NumPy’ı kullanarak bir dizi oluşturabilirsiniz:

import numpy as np

# 1 boyutlu dizi oluşturma
arr1d = np.array([1, 2, 3, 4, 5])

# 2 boyutlu dizi oluşturma
arr2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# Sıfırlardan oluşan bir dizi oluşturma
zeros_arr = np.zeros((3, 3))  # 3x3 boyutunda sıfırlardan oluşan dizi

# Rastgele sayılardan oluşan bir dizi oluşturma
random_arr = np.random.rand(2, 2)  # 2x2 boyutunda rastgele sayılardan oluşan dizi

Bu sadece NumPy’nin küçük bir örneği. NumPy, daha karmaşık hesaplamaları gerçekleştirmek için daha birçok fonksiyon ve yetenek içerir.

NumPy’nin daha fazla örneği:

  1. Diziler Üzerinde İşlem Yapma:
import numpy as np

# İki diziyi toplama
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
result = arr1 + arr2  # Sonuç: [5, 7, 9]

# Dizileri çarpma
result = arr1 * arr2  # Sonuç: [4, 10, 18]

# İki boyutlu dizilerde işlem yapma
arr3 = np.array([[1, 2], [3, 4]])
arr4 = np.array([[5, 6], [7, 8]])
result = arr3 + arr4  # Sonuç: [[6, 8], [10, 12]]
  1. Rastgele Sayı Üretme:
import numpy as np

# Belirli bir aralıkta rastgele tam sayı üretme
random_int = np.random.randint(1, 10)  # 1 ile 10 arasında rastgele bir tam sayı

# Belirli bir aralıkta rastgele ondalıklı sayı üretme
random_float = np.random.uniform(0, 1)  # 0 ile 1 arasında rastgele bir ondalıklı sayı
  1. Lineer Cebir İşlemleri:
import numpy as np

# Matris çarpımı
mat1 = np.array([[1, 2], [3, 4]])
mat2 = np.array([[5, 6], [7, 8]])
result = np.dot(mat1, mat2)  # Sonuç: [[19, 22], [43, 50]]

# Matris determinantı
det = np.linalg.det(mat1)  # Sonuç: -2.0

# Matrisin tersini alma
inv_mat = np.linalg.inv(mat1)
  1. Dizileri İşleme ve Filtreleme:
import numpy as np

# Dizi elemanlarını filtreleme
arr = np.array([1, 2, 3, 4, 5])
filtered_arr = arr[arr > 2]  # 2'den büyük elemanları filtreleme

# Dizi elemanlarını değiştirme
arr[arr % 2 == 0] = -1  # Çift sayıları -1 ile değiştirme
  1. Dizileri Düzleştirme ve Yeniden Şekillendirme:
import numpy as np

# Diziyi düzleştirme
arr = np.array([[1, 2, 3], [4, 5, 6]])
flattened_arr = arr.flatten()  # [1, 2, 3, 4, 5, 6]

# Yeniden şekillendirme
reshaped_arr = arr.reshape(3, 2)  # [[1, 2], [3, 4], [5, 6]]
  1. İstatistiksel İşlemler:
import numpy as np

# Dizinin toplamı
arr = np.array([1, 2, 3, 4, 5])
total = np.sum(arr)  # Toplam: 15

# Dizinin ortalaması
mean = np.mean(arr)  # Ortalama: 3.0

# Dizinin standart sapması
std_dev = np.std(arr)  # Standart Sapma: 1.4142135623730951
  1. Dizileri Birleştirme:
import numpy as np

# Dizileri birleştirme
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
concatenated_arr = np.concatenate((arr1, arr2))  # [1, 2, 3, 4, 5, 6]

# İki boyutlu dizileri birleştirme
arr3 = np.array([[7, 8, 9]])
concatenated_arr_2d = np.concatenate((arr1.reshape(1, -1), arr3), axis=0)  # [[1, 2, 3], [7, 8, 9]]
  1. Dizileri Sıralama:
import numpy as np

# Diziyi sıralama
arr = np.array([3, 1, 4, 2, 5])
sorted_arr = np.sort(arr)  # [1, 2, 3, 4, 5]

# Diziyi tersten sıralama
reverse_sorted_arr = np.sort(arr)[::-1]  # [5, 4, 3, 2, 1]
  1. Diziler Arası Uzaklık Hesaplama:
import numpy as np

# İki nokta arasındaki Euclidean uzaklığını hesaplama
point1 = np.array([1, 2, 3])
point2 = np.array([4, 5, 6])
distance = np.linalg.norm(point1 - point2)  # Sonuç: 5.196152422706632
  1. Dizilerdeki Maksimum ve Minimum Değerleri Bulma:
import numpy as np

# Dizideki maksimum ve minimum değerleri bulma
arr = np.array([3, 1, 4, 2, 5])
max_value = np.max(arr)  # Maksimum değer: 5
min_value = np.min(arr)  # Minimum değer: 1
  1. Dizilerdeki Elemanların İndeksini Bulma:
import numpy as np

# Belirli bir değeri içeren elemanın indeksini bulma
arr = np.array([3, 1, 4, 2, 5])
index = np.where(arr == 4)  # 4 değerine sahip elemanın indeksi: (array([2]),)
  1. Dizileri Döndürme ve Kaydırma:
import numpy as np

# Diziyi belirli bir sayıda adım sağa kaydırma
arr = np.array([1, 2, 3, 4, 5])
shifted_arr = np.roll(arr, 2)  # Sonuç: [4, 5, 1, 2, 3]
  1. Dizileri Bir Filtre Kullanarak Düzenleme:
import numpy as np

# Dizideki belirli bir koşulu sağlayan elemanları değiştirme
arr = np.array([1, 2, 3, 4, 5])
arr[arr % 2 == 0] *= -1  # Çift sayıları negatif yapma

Bu örnekler, NumPy’nin daha yaygın kullanılan işlevlerini içeriyor. Ancak, NumPy’nin çok daha geniş bir fonksiyon yelpazesi bulunmaktadır. İhtiyacınız olan özelliklere ve işlemlere göre, NumPy belgelendirmesine başvurmanız faydalı olacaktır.

Ads Blocker Image Powered by Code Help Pro

Reklam Engelleyici Algılandı!

Reklamları engellemek için uzantı kullandığınızı tespit ettik.

Lütfen bu reklam engelleyiciyi devre dışı bırakarak ya da sitemize izin vererek bize destek olun.

Dikkat: VPN eklentiniz üzerinde de reklam engelleyici olabilir.