Numpy dizileri oluşturma

Numpy dizileri matematiksel işlemler için önemli kolaylıklar sağlamaktadır. Numpy dizi elemanlarına aynı python dilindeki dizi elemanlarına eriştiğimiz gibi erişebiliriz. Bunun için diğer programlama dilllerine benzer şekilde indekleme mekanizması ile ulaşıyoruz.

Numpy'da diziler ile alakalı bir kaç özelliğe yeri gelmişken değinelim:

  • Numpy dizilerinin veri türü ndarray dir.

  • Numpy dizileri tek boyutlu olabildiği gibi, çok boyutlu matrisler de olabilir.

  • Python dizilerinden numpy dizileri oluştururken türü (int, float) belirlenebilir.

    • Eğer elle girilmezse değerlerin türüne göre otomatik oluşturulur.

Hatırlanacağı üzere numpy kütüphanesini kullanabilmemiz için bu kütüphaneyi python'a eklememiz gerekiyor. Bunun için import komutunu kullanıyoruz. Numpy genellikle np kısaltması ile kullanılır. Zorunluluktan ziyade bu bir gelenektir.

Haydi örneklerle ilk numpy kodlarımızı yazmaya başlayalım!

Tek boyutlu dizi (vektör) oluşturma

Öncelikle tek boyutlu bir numpy dizisi oluşturalım. (Buna vektör de diyebiliriz. Yazı içinde dönüşümlü olarak kullanılacak. ) Bunun için np.array metodunu kullanıyor olacağız. Vektör oluştururken python listesini bu metoda parametre olarak veriyoruz.

import numpy as np           # numpy kütüphanesi eklendi 

a = np.array([1, 2, 3, 4])   # tek boyutlu dizi oluşturduk

Bu komut şöyle bir tek boyutlu dizi oluşturur. Boyutu 4 ve içeriği sırasıyla şu sayılardan oluşur.

┌───┬───┬───┬───┐
│ 1 │ 2 │ 3 │ 4 │
└───┴───┴───┴───┘
└───────────────┘
    a.size (=4)

Şimdi dizimizle alakalı bazı detaylara göz atalım.

print a                   # [1 2 3 4]
print a.size              # 4
print type(a)             # "<type 'numpy.ndarray'>" şeklinde türün ne olduğunu yazar
print a.dtype             # int64

Gördüğünüz gibi print komutu kullanarak dizinin içeriğini yazdırabilir, size ile boyutunu öğrenebiliriz. np.array ile oluşturduğumuz dizilerin türü numpy.ndarray olarak yazacaktır. Dizimizin veri türüne ise dtype ile bakabiliriz.

Şimdi gelin bu dizi değerlerine sırasıyla erişelim

print a[0], a[1], a[2]    # "1 2 3" yazdırır
a[0] = 5                  # dizinin bir elemanı değerini değiştirelim
print a                   # artık "[5, 2, 3, 4]" yazdırır

Oluşturduğumuz dizinin boyutlarını shape komutu ile öğrenebiliriz. Bu komut tek boyutlu diziler için aşağıdaki çıktıyı üretmektedir. 2. boyut olmadığından bunu virgülden sonra hiç bir eleman olmamasından anlayabiliriz.

print a.shape             # "(4,)"  yazdırır

Şimdi sıra geldi 2 boyutlu bir dizi oluşturmaya.

2 boyutlu dizi oluşturma

2 boyutlu diziler doğrudan python listeleri ile oluşturulabilir. 2 boyutlu diziye matris terimini de kullanabiliriz.

Aşağıdaki kod parçası 2x3 boyutlarında bir matris oluşturmaktadır. Python iç-içe listelerini kullanarak bunu yapabiliriz. İç-içe listelerdeki ilk eleman 2-boyutlu dizinin ilk satırına denk gelmektedir.

b = np.array([[1.2, 1.5, 3.4], [4, 5, 6]])    # 2 boyutlu dizi oluştur

Aşağıdaki özelliklere sahip bir 2 boyutlu dizi oluşturmuş olacağız. Burada farklı olarak 2 boyutlu dizinin veri türü noktalı sayı veri türü olan float64 olacaktır. Numpy bizim için veri türünü otomatik olarak algıladı ve matrisi float64 türünde oluşturdu.

                 shape[1]
                   (=3)
            ┌─────────────────┐
         ┌  ┌─────┬─────┬─────┐  
         │  │ 1.2 │ 1.5 │ 3.4 │  
shape[0] │  ├─────┼─────┼─────┤  
  (=2)   │  │  4. │  5. │  6. │
         └  └─────┴─────┴─────┘

Benzer şekilde yine gelin dizimizle alakalı bazı detaylara göz atalım.

print b                      # [[ 1.2  1.5  3.4]
                             #  [ 4.   5.   6. ]]

print b.size                 # 6
print b.dtype                # float64

print b.shape                      # "(2, 3)" yazdırır
print b[0, 0], b[0, 1], b[1, 1]    # "1.2 1.5 4.0" yazdırır

Dizinin içeriğini görmek için print komutunu kullanabilir, boyutlarına baktığımızda 2x3 olduğunu ve elemanlarına da yine benzer şekilde dizi erişimi yaparak erişebilir ve ekrana yazdırabiliriz. Burada dikkat edilmesi gerekli noktanın: b[0,1] gibi bir komutta ilk indeksin satırda, ikincisinin de sütun da ilerlediğini ve sol üstteki ilk elemanın 0,0 olduğunu hatırlatmak isterim.

Last updated