NumPy Tutorials

NumPy Dizileri: Kapsamlı Bir Rehber

Spread the love

NumPy, Python’da bilimsel hesaplamanın temel taşıdır ve gücü büyük ölçüde N-boyutlu dizi nesnesi olan ndarray’de yatmaktadır. Ndarray’leri öğrenmek, etkili NumPy kullanımı için şarttır. Bu öğretici, ndarray’lerin oluşturulması, öznitelikleri ve temel işlemlerini kapsayan kapsamlı bir giriş sunmaktadır.

İçindekiler

Ndarray Tanımı

Bir NumPy ndarray (N-boyutlu dizi), aynı tipte ve boyuttaki elemanları tutan homojen, çok boyutlu bir kapsayıcıdır. Bunu, birden fazla boyutta (1B, 2B, 3B ve daha yüksek) veri işleyebilen, oldukça optimize edilmiş, gelişmiş bir Python listesi versiyonu olarak düşünün. Çeşitli veri tiplerinde elemanlar içerebilen Python listelerinin aksine, ndarray’ler tip homojenliğini zorunlu kılar ve bu da önemli performans artışları sağlar. Bu homojenlik, vektörleştirilmiş işlemlere olanak tanır—işlemleri tek tek eleman yerine tüm diziye aynı anda uygulamak, hızı önemli ölçüde artırır.

Temel ndarray özellikleri:

  • Homojen: Tüm elemanlar aynı veri tipini paylaşır.
  • Çok boyutlu: Verileri çeşitli boyutlarda temsil eder (1B vektörler, 2B matrisler, 3B tensörler, vb.).
  • Sabit boyut: Dizinin boyutu oluşturulduğunda sabitlenir ve yeniden boyutlandırma genellikle yeni bir dizi oluşturmayı gerektirir.
  • Vektörleştirilmiş işlemler: Verimli eleman bazlı ve dizi seviyesi işlemleri destekler.
  • Bellek verimliliği: Verileri bitişik bellek bloklarına depolar, performansı artırır.

Ndarray Oluşturma

NumPy’nin fonksiyonlarını kullanarak ndarray oluşturmak basittir:


import numpy as np

# Bir listeden
arr_1d = np.array([1, 2, 3, 4, 5])
arr_2d = np.array([[1, 2, 3], [4, 5, 6]])

# Özel fonksiyonlar kullanarak
arr_zeros = np.zeros((2, 3))  # Sıfırlar dizisi
arr_ones = np.ones((3, 2))   # Birler dizisi
arr_arange = np.arange(10)    # Sayı dizisi
arr_linspace = np.linspace(0, 1, 5) # Eşit aralıklı sayılar
arr_random = np.random.rand(2, 2) # Rastgele sayılar

print(arr_1d)
print(arr_2d)
print(arr_zeros)
print(arr_ones)
print(arr_arange)
print(arr_linspace)
print(arr_random)

Ndarray Öznitelikleri

Ndarray nesneleri, şekilleri, veri tipi, boyutu ve daha fazlası hakkında bilgi sağlayan birkaç önemli öznitelik sunar. Bu öznitelikleri anlamak, etkili ndarray manipülasyonunun anahtarıdır.

  • ndim: Dizi boyutlarının (eksenlerin) sayısı.
  • shape: Her boyutta dizinin boyutunu gösteren bir demet (örneğin, 3×4’lük bir matris için (3, 4)).
  • size: Toplam eleman sayısı.
  • dtype: Elemanların veri tipi (örneğin, int32, float64, bool).
  • itemsize: Her elemanın boyutu (bayt cinsinden).
  • nbytes: Dizinin toplam boyutu (bayt cinsinden) (itemsize * size).

import numpy as np

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

print("Boyut sayısı:", arr.ndim)
print("Şekil:", arr.shape)
print("Boyut:", arr.size)
print("Veri tipi:", arr.dtype)
print("Eleman boyutu:", arr.itemsize)
print("Toplam bayt:", arr.nbytes)

Temel Ndarray İşlemleri

NumPy, verimli eleman bazlı ve dizi seviyesi işlemler sağlar. Basit aritmetik işlemler (+, -, *, /, //, %, **) vektörleştirilir:


import numpy as np

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

print("Toplama:", arr1 + arr2)
print("Çıkarma:", arr1 - arr2)
print("Çarpma:", arr1 * arr2)
print("Bölme:", arr1 / arr2)

Daha gelişmiş işlemler (matris çarpımı, nokta çarpımı, vb.) de kolayca kullanılabilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir