Python Veri Bilimi 3 – Bazı Numpy Fonksiyonları

2. bölümde numpy kütüphanesinin kullanımı görmüştük. Bu bölümde numpy kütüphanesine ait bazı fonksiyonları göreceğiz.

Buradaki fonksiyonları ezberlemenize gerek yok. Kullandıkça öğreneceksiniz. Ancak en azından fonksiyonları 1 er kere deneyerek hangi sonuçları verdiklerini görebiliriz.

Fonksiyonları liste halinde yazalım

import numpy as np
np.amax()#istenilen ekssendeki maksimum değerleri iletir. 
np.amin() #minimum değelerleri iletir.
npm.argsort() #küçükten büyüğe sıralandığında kaçıncı sırada olduğunu söyler
np.concatenate() # iki numpy sizinini istenen eksenlerden birleştirir. axis=0 alt alata, axis=1 yan yana
np.full() #istenen boyutta, değerde ve veri türünde numpy dizini ouşturur. 
np.intersect1d #iki veya daha fazla numpy dizinindeki ortak elemenları seçer
np.isin( #aranılan elemanların bir liste veya dizide olup oomadığına bakar. )
np.isnan() #dizideki elanların nan (not a number: bir sayı değil) olup olmadığnnına bakar
np.ones() #1 lerden meydana gelen istenilen boyutta numpy dizisi
np.repeat() #tekrar eden elemanlardan meydana gelen bir dizi
np.reshape() #bir numpy dizinin boyutlarını yeniden belirlemek için kullanılır
np.setdiff1d() #bir dizide olup diğerinde olmayan elemanları seçmek için kullanılır.
np.unique() #bir dizideki dekil değerleri gösterir.
np.where() #bir dizide istenen şartları sağlayan elemanları seçer
np.zeros() #sıfırdan meydana gelen istenilen boyuttaki numpy dizini oluştur. 
np.matmul() #matris çarpımı
np.mean() #istedilen satır veya sutündaki değerlerin ortalamsını alırız
np.sum() # toplamını almak için kullanılır.

Fonksiyonları görüp hemen korkmayalım 🙂

Yazılımda ezberden ziyade öğrenmek önemlidir. Fonksiyonlardan bazılarınıa kullanarak ne yaptıklarına bakalım.

import numpy as np
print(np.full((3,2),1.5))
3 satır ve 2 sütundan oluşan ve değerleri 1.5 olan numpy dizini oluşturduk.

Şimdi fonksiyonları uygulayabilmek için bir numpy dizisi oluşturalım.

import numpy as np
dizi=np.arange(24) #24 tane sayı oluştur
matris=dizi.reshape(6,4)#6 satır 4 sütundan oluşan dizi
6 satır ve 4 sütundan oluşan bir numpy dizini oluşturduk.

Aşağıdaki fonksiyonları yukardaki diziye göre yapacağız

import numpy as np
dizi=np.arange(24) #24 tane sayı oluştur
matris=dizi.reshape(6,4)#6 satır 4 sütundan oluşan dizi
print(np.amax(matris)) #23 değerini verir. en büyük değer
import numpy as np
dizi=np.arange(24) #24 tane sayı oluştur
matris=dizi.reshape(6,4)#6 satır 4 sütundan oluşan dizi
print(np.amin(matris)) #0 değerini verir. en küçük değer
import numpy as np
dizi=np.arange(24) #24 tane sayı oluştur
matris=dizi.reshape(6,4)#6 satır 4 sütundan oluşan dizi
print(np.argsort(matris))
Küçükten büyüğe sıralandığında sayıların sırasını verir.

Burada 1. satır için konuşursak 0,1,2,3 sayılarından oluşuyor. Zaten sıralı olduğu için bu değerleri verdi.

import numpy as np
dizi=np.arange(24) #24 tane sayı oluştur
matris=dizi.reshape(6,4)#6 satır 4 sütundan oluşan dizi
aranan=[3,9,34] #aranacak sayılar
print(np.isin(aranan,matris)) #isin() fonksiyonu ile arama yapılır

3, 9 değerleri var. True döndü. Ancak dizimizde 34 yok bu nedenle false döndü.

repeat() fonksiyonu ile bir sizinin elamanlarını tekrarlayabiliriz.

import numpy as np
print(np.repeat(3,4))
3 sayısını 4 defa tekrarla
import numpy as np
x = np.array([[1,2],[3,4]])
print(np.repeat(x, 2))
import numpy as np
print(np.ones(5))

1 lerden oluşan diziler oluştururuz.

5 tane 1 oluşturduk. Eğer tam sayı olsun dersek

import numpy as np
print(np.ones(5,dtype=int))

Çok boyutlu oluşturmak için (4 satır, 8 sütun)

import numpy as np
print(np.ones((4, 8)))

0 lardan oluşan dizi

import numpy as np
dizi=np.zeros((3,4),dtype=int)
print(dizi)

Fonksiyonları art arda kullanabiliriz.

import numpy as np
dizi=np.arange(24).reshape(6,4) #arange() ile reshape() art arda kullanıldı
print(dizi)

Belirli bir filtreye göre arama yapmak

import numpy as np
dizi=np.arange(0,101)
ara=np.where(dizi%10 == 0)
print(ara)

Burada 10 le bölündüğünde kalanı 0 olan sayıları aradık.

Numpy Kütüphanesinde Kullanılan Diğer Fonksiyonlar

import numpy as np

#çok boyutlu dizi
dizi=np.arange(24).reshape(6,4)
dizi.max() #maksimum değer
dizi.argmax() #maksimum değerin sıra nosu
dizi.min() # minimum değer
dizi.argmin() #minimum değer sıra numarası
dizi.ptp() # vverilen eksendeki mak ve nim değerler arasındaki fark
dizi.clip(min,max) #dizi de e arlaan min ve max arasındaki değerleri aynen, min düşük ise min, max tan yüksek ise max olarak iletir.
dizi.round(a) #a ondaklık basamağa kadar yuvarlar
dizi.trace() #köşegenler toplamı
dizi.mean() #eksen boyunca ortalama değerleri hesaplar
dizi.var() # eksan boyunca varyans
dizi.std() #eksen boyunca standart sapma
dizi.prod() #eksen boyunca sayıların çarpımı
dizi.cumprod() #eksen boyunca birikimli çarpım
dizi.sort() #eksendeki verilerin sıralanmış hali
dizi.median() #medyan. ortanca sayı
dizi.sum() # toplam
dizi.corrcoef(dizi[:,0],dizi[:,1]) #birinci ve ikinci sütünların korelasyon katsayısı 
import numpy as np
dizi=np.arange(24).reshape(6,4)
print(dizi.sum()) #sonuç 276

Sütun sütun toplamak için

import numpy as np
dizi=np.arange(24).reshape(6,4)
print(dizi.sum(0))

Satır satır toplamak için

import numpy as np
dizi=np.arange(24).reshape(6,4)
print(dizi.sum(1))

Satırların ortalamasını al

import numpy as np
dizi=np.arange(24).reshape(6,4)
print(dizi.mean(1))

Bütün elemanları döngü şeklinde almak için

Normalde döngü yapmak için aşağıdaki kodu kullanıyoruz

import numpy as np
dizi=np.arange(24).reshape(6,4)
for x in dizi:
    print(x)

Görüldüğü gibi çıktı istediğimiz gibi gelmedi. Her satır ayrı ayrı dizi halinde geldi. Burada bir döngü daha yapıp içindekileri de alabiliriz.

import numpy as np
dizi=np.arange(24).reshape(6,4)
for x in dizi:
    for y in x:
        print(y)

Bu defa istediğimiz sonuca ulaştık.

Ancak bu şekilde iç içe fonksiyon kullanmak yerine nditer fonksiyonunu kullanabiliriz.

import numpy as np
dizi=np.arange(24).reshape(6,4)
for x in np.nditer(dizi):
    print(x)

Bu şekilde yine elemanlara tek tek ulaşmış olduk.

Bir yazımızın daha sonuna geldik. Görüşlerinizi yazmak veya anlamadığınız yeri sormak için aşağıdaki yorum bölümünü kullanabilirsiniz.

Kodla kalın!

Yayınlayan

Ahmet KADAK

Bilgisayar Öğretmeni & Bilgisayar Mühendisi

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.