Python Numpy Modülü / Ar - Ge Kulübü

Ceen

Üye
29 Tem 2017
219
0
Numpy
Özel matematiksel işlemlerde Nump Modülü bulunmaz bir nimet. Numpy dizileri (arrays) olarak adlandırılır. Numpy dizilerinin veri tiplerine ise (ndarray) denir

Nasıl İndirilir
Pytnon 2.7 ile indirme gerçekleştirildi. Pip ile rahatlıkla indirebilirsiniz. Daha önceki konumda pip ile nasıl indirileceğini göstermiştim.

Giriş
Numpy' de dizi sınıfına ndarray denir.

Bazı ndarray komutları:
-ndarray.ndim
Eksen (boyut) sayısı.Dizilerin boyutu için rank ifadeside kullanılır.

-ndarray.shape
Dizinin boyutları. Mesela 2X3 lük bir matris için shape (2,3) şeklinde yazabiliriz.

-ndarray.size
Bir dizideki toplam eleman sayısı.

-ndarray.ntype
Dizi içindeki elemanların veri tipi.

-ndarray.itemsize
Dizinin her bir elemanın byte cinsinden boyutu.

-ndarray.data
Dizinin elemanlarının tümü.

G9lr0v.png

p6LQWz.png


Burada yeni bir fonksiyon olan arange ne kadar sayı aktarcağımızı söyler. Mesela range fonksiyonuna benzetebiliriz. reshape ise 3 satır,4 sütun dan oluşan bir matris yapmasını istedim. Ve bu sayede basit bir matris yapmış olduk. Anlattığım komutları daha iyi anlayabilmeniz için;

Plgblv.png

MdrMd6.png


şeklinde örnek vermem yeterli olucak.

Bazı Shape Önrekleri

z0bzMB.png

3Ed4zO.png


Arkadaşlar bundaki mantık tek boyutlu dediği:
a = [1,2,3]

2 boyutlu dediği ise;
b = [1,2,3]
[4,5,6]

Genel mantık bu arkadaşlar. Tabi numpy dizileri birden fazla şekilde kurulabilir.
Direk numpy.array komutu ile dizileri oluşturarak numpy.arange , numpy.ones , numpy.eye , numpy.zeros , numpy.empty , numpy.full , numpy.random komutları kullanılarak numpy.array komutu ile diziler oluşturabilir.
Veri tipi için ise numpy.dtype komutunu kullanabiliriz. Şimdi örneklerle daha da açıklık getirelim konumuza:

y0XBkM.png


Önreğimiz de öncelikle c adlı nesnemize numpy.array fonksiyonu ile 3.4 adlı bir dizi oluşturduk. Daha sonra dtype komutu sayesinde veri tipinin bir int32 oluduğunu gördük. Yani 32 bitlik bir tamsayı olduğunu görmüş olduk. Daha sonra bir de ondalıklı sayı yazalım dedik. Ve veri tipimizin bir float olduğunu anlamış olduk. Ayrıca veri tipini de 64 olarak değiştirebileceğimizi de öğrenmiş olduk.

Bir örnek daha verim bunlarla ilgili daha iyi anlarız.

NZ7zmN.png


Aynı şekilde bir int - float'a dönüştürebileceğimizi de görmüş olduk. Diğer komutlarımıza bakalım:

0EQYMW.png


-zeros=Verdiğiniz matrise göre size sadece 0 matrisini verir.
-ones=Sadece matriste sizlere 1 sonucunu verir.
-full= Öncelikle matrisini belirliyorsunuz. Daha sonra hangi değeri istiyorsanız size sadece o değeri verir.

vjqOMR.png


-eye= Siz sadece bir değer girersiniz. O da size eşit sütun ve satır içerisinde birim matrisi verir.

9mOnn3.png


-random= Sizlere belirlediğiniz sütun ve satır içerisinde rastgele sayı üretir.

Z908va.png


arange komutu sayesinde bir diziyi aynı range fonksiyonu şekilde kullanabiliriz.

Ayrıca matristen istediğimiz bir alt dilimi alabiliriz. Yada ekleme yapabiliriz.

RnqmL1.png

rO7WLm.png


Bu sefer bir dizide yani satırda 10 tane 4 ün katmanı olan değer girmesini istedim.

p6Ly4a.png


-Numpy diziler üzerinde döngü kurulursa işlem ilk eksen (satır) üzerinde gerçekleşir.

-Arkadaşlar isetersek oluşturduğumuz matrisler de filtreleme ve indisleme yapabiliriz.

JQvREJ.png


- Farklı boyutlardaki diziler yatay yada dikey birleştirilebilir.

QV9D4y.png


- Bunun dışında temel matematiksel işlemler de yapılabilir matrisler üzerinde.

YgAnM2.png


- Normal matematiksel işlemlerde Numpy dizileri için eleman - eleman çarpımı olduğunu gördük. Matris çarrpımı için dot komutundan yararlanıcaz.

0EQv7Y.png
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.