Cemre Acar
NumPy ile Array İşlemleri

NumPy ile Array İşlemleri

Bu yazımda NumPy ile uğraşırken sıkça kullandığımız bazı array işlemlerinden bahsedeceğim. Daha önceki bir yazımda NumPy’a temel bir giriş yazısı olan NumPy Nedir ? NumPy Kullanımı adlı yazımı okumadıysanız okumanızı tavsiye ederim. Array işlemlerimize dönecek olursak, yapacağımız işlemleri çeşitli başlıklar altında toplayacağım ve ilk olarak Array Birleştirme ile başlıyorum.

Numpy Array Birleştirme

İlk olarak her zamanki gibi NumPy kütüphanemizi çalışmamıza dahil edelim.

import numpy as np

Ardından iki array oluşturalım ve bunları x ve y adında değişkenlere atayalım.

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

Elimizde iki array’imiz mevcut. Burada var olan iki arrayımızı birleştirmek için concatenate özelliğini kullanacağız.

np.concatenate([x,y])

Birleştirme işleminin sonunda yeni array’imiz aşağıdaki gibi olacak.

array([1, 2, 3, 4, 5, 6, 7])


Aynı özelliği kullanarak iki diziyi farklı boyutlara da getirebiliriz. Aşağıda 2x3 matris bir array’i yine kendisi ile birleştirelim.

a = np.array([11,12,13],[99,98,97])

np.concatenate([a,a])

Bu işlemin ardından aşağıdaki gibi 4x3 yeni bir matrise sahip olmuş oluyoruz.

array([11,12,13],
      [99,98,97],
      [11,12,13],
      [99,98,97])

Son olarak farklı boyutlardaki dizileri de aşağıdaki şekilde birleştirebileceğimizi belirtelim.

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

np.vstack([a,b])

Sonucun Çıktısı :

array([[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]])

Aynı şekilde sütunlara da birleştirme yapılabilir. Aşağıda küçük bir örnek görelim.

a = np.array([[99],[99]])

np.hstack([a,b])

Burada içinde iki tane 99 verisi bulunan bir array ile yukarıdaki b değişkenine atanmış array'imizi birleştirdik.
Sonucun Çıktısı :

array([[99,  4,  5,  6],
       [99,  7,  8,  9]])


Numpy Array Ayırma (Array Splitting)

x = [0,1,2,3,4,5,6,7,8,9]

Yukarıdaki gibi bir array’i ayırmaya çalışalım. Örnek olarak aşağıda 3 ve 5. indexlerdeki değerlere göre ayıralım. Bu indexlerden sonrasını tamamı ile başka bir array olarak gerçekleştirecek.

np.split(x,[3,5])

Sonuç olarak array’i aşağıdaki gibi bölmüş oluyoruz.

[array([0, 1, 2]), array([3, 4]), array([5, 6, 7, 8, 9])]

Ayırdığımız arrayleri farklı değişkenlere de atayabiliriz bunun için aşağıdaki şekilde belirtmemiz yeterli.

x,y,z = np.split(x,[3,5])

Ardından değişkenlerimizi bastırdığımızda farklı a, b ve c arraylerine sahip olduğumuz görünüyor.

a

Sonucun Çıktısı :

array([0,1, 2])

Ayırma işlemini farklı boyuttaki bir array üzerinde de uygulayabliriz. Örnek olması için ilk olarak 7x3 matris oluşturalım.

k = np.arange(21).reshape((7,3))
k

Elimizde aşağıdaki gibi bir array oluştu.

array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11],
       [12, 13, 14],
       [15, 16, 17],
       [18, 19, 20]])

Burada vsplit özelliği ile istediğimiz indexten itibaren array’imizi ayırabiliriz. Aşağıdaki örneğe bakalım.

np.vsplit(k , [2])

Sonucun Çıktısı:

[array([[0, 1, 2],
        [3, 4, 5]]), array([[ 6,  7,  8],
        [ 9, 10, 11],
        [12, 13, 14],
        [15, 16, 17],
        [18, 19, 20]])]


Array birleştirme işleminde olduğu gibi burada da bu arrayleri değişkenlere atamak isteyebiliriz. Bunu da aşağıdaki şekilde sağlıyoruz.

ilk_üc , kalan = np.vsplit(k , [3])

Bu sayede ilk_üc değişkeni ile array’in ilk 3 satırını değişkenimize atamış olduk.

ilk_üc

Sonucun Çıktısı :

array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])

Aynı mantıkta dilersek arraylerin sütunlarını da ayırabiliriz. Örneğin elimizde 3x5 matris olsun.

k = np.arange(15).reshape((3,5))

Burada da hsplit özelliğini kullanacağız. Sahip olduğumuz arrayimizin ilk iki sütununu değişkene atayacağız.

ilk_iki , diger = np.hsplit(k,[2])

Sonucun Çıktısı :

array([[ 0,  1],
       [ 5,  6],
       [10, 11]])

NumPy Array Sıralama

Temel olarak array içerisindeki elemanlarımızı sıralayacağımız bu bölümde sort özelliğini ele alacağım. İlk olarak karışık sayılardan oluşan bir array’e sahip olalım.

s = np.array([99,23,11,18,45,3,7])

Array’imizi sıraya sokabilmek için yukarıda da bahsettiğim gibi sort özelliğini kullanıyoruz.

np.sort(s)

Sonucun Çıktısı :

array([ 3,  7, 11, 18, 23, 45, 99])

Burada bilmemiz gereken bir şey var. Sahip olduğumuz orijinal array’in yaptığımız sort işleminden etkilenmediğini unutmayalım. Değişkenimizi ekrana basıp değişiklik olup olmadığını kontrol edelim.

s

Sonucun Çıktısı :

array([99, 23, 11, 18, 45,  3,  7])

NumPy ile Array İşlemleri yazımı burada sonlandırıyorum. Yazıda eksik ya da yetersiz gördüğünüz kısımlar olursa yorumlarda belirtebilirsiniz. NumPy yazı serisi devam edecek eğer NumPy hakkında daha fazla bilgi sahibi olmak istiyorsanız Blog'a Abone olabilir NumPy ve diğer tüm yazılar hakkında bilgi sahibi olabilirsiniz. Sağlıkla Kalın.
 

Heyy ! Blog'a abone olup yazılarımdan ilk sen haberdar olmak ister misin ?

ABONE OL!

Yorumlar

Yorum Ekle

Yorumunuz onaylandıktan sonra yayınlanacaktır.