0% found this document useful (0 votes)
16 views14 pages

Numpy

Uploaded by

emrullahduran456
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views14 pages

Numpy

Uploaded by

emrullahduran456
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

MAT4560 Bilgisayar Programlama 2

Python Kütüphaneleri

Sema AKIN BAŞ


29.04.2024
İçindekiler

1. Python Kütüphaneleri
Numpy

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 1 / 12


Python Kütüphaneleri
Python Kütüphaneleri

• Python, basitliği, geniş topluluğu ve açık kaynak kütüphaneleri


nedeniyle veri bilimi alanında en popüler dil olarak öne çıkmaktadır.
• Bir veri bilimi projesi üzerinde çalışırken Python paketleri sayesinde
karmaşık işlemleri yapabimek için sadece birkaç satır kod gerekir.
• NumPy ve Pandas, yüksek performanslı matris hesaplama yetenekleri
ile Python’da makine öğrenimi dahil olmak üzere her türlü bilimsel
hesaplama için temel kütüphaneler olarak ortaya çıkmıştır.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 2 / 12


Numpy Kütühanesi

NumPy, Numerical Python’ın kısaltmasıdır


Makine öğrenimi modellerinin arka planında
verimli dizi ve matris hesaplamaları yapmak için
kullanılmaktadır.
NumPy’ın temel yapı taşı, listelere çok benzeyen
ancak büyük miktarda matematiksel işlevleri yerine
getirmeyi sağlayan veri yapısı olan ”array (değerler
matrisi)”lerdir.
Bellekte sürekli yer kaplayan art arda sıralanmış
aynı türden verilerin oluşturduğu kümeye dizi (array)
denir. NumPy ile tanımlı dizi elemanlarının “aynı tip
elemanlardan oluşmuş olması” gerekir.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 3 / 12


Numpy Kütüphanesi

• NumPy kullanılarak istatistik işlemleri ve simülasyonlar yapılabilir.


• NumPy dizileri sabit boyutlu olarak oluşturulur. Listede olduğu gibi
dinamik olarak sonradan boyut (size) değiştirme işlemi yapılamaz.
Eğer oluşturduğunuz dizinin boyutunu değiştirmek isterseniz, bu işlem
var olan diziyi siler ve yerine yenisini oluşturur.
• NumPy dizileri çok sayıda veri üzerinde gelişmiş matematiksel işlemleri
kolaylaştırır.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 4 / 12


Numpy Dizileri Oluşturma

NumPy dizileri ile tek boyutlu (vektör), iki boyutlu (matris) ve daha
çok boyutlu diziler oluşturulabilir ve bu diziler üzerinde (aşağıdaki
metotlar ile) işlemler gerçekleştirilebilir.

• [Link](): Listeyi NumPy dizisine dönüştürür.


• [Link](n): 0 - n (n dahil değil!) arası sayılardan oluşan bir dizi
oluşturur.
• [Link](4,20,2): Belirtilen aralıkta (4-20) artım miktarı (2 şer)
kadar artan sayılardan oluşan bir dizi oluşturur.
• [Link](0,5,n): Belirtilen aralıkta (0-5) n adet eşit aralıklı kesirli
sayılardan oluşan bir dizi oluşturur.
• [Link](0,2,n): Belirtileri aralıkta (0-2) l0’un üssü şeklinde n
adet logaritmik sayılardan oluşan bir dizi oluşturur.
• [Link]((n,m)): İstenen boyutta (n satır, m sütunlu) ve tipte
sıfırlardan (0) bir dizi/matris oluşturur.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 5 / 12


Numpy Dizileri Oluşturma

• [Link]((n,m)): İstenen boyutta (n satır, m sütunlu) ve tipte


birlerden (1) bir dizi/matris oluşturur.
• [Link]((n,m),a): İstenen boyutta (n satır, m sütunlu) tekrar eden
sayılardan (a) bir dizi/ matris oluşturur.
• [Link](a,n): Tekrar eden sayılardan (a), n elemanlı bir dizi
oluşturur.
• [Link](n): n×n boyutta birim matris oluşturur.
• [Link](d): Bir matrisin izini (köşegenlerinin toplamını) verir.
• [Link](n): 0-1 arasında n adet rastgele (kesirli) sayılardan
oluşan bir dizi oluşturur.
• [Link]((n,m)): n satır, m sütunlu rastgele (kesirli)
sayılardan oluşan bir dizi oluşturur.
• [Link](1,9,n): Belirtilen aralıkta (1-9) rastgele
tamsayılardan oluşan n adet bir dizi oluşturur.
• [Link](1,9,[n,m]): Belirtilen aralıkta (1-9) rastgele
tamsayılardan oluşan n×m boyutlu matris oluşturur.
Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 6 / 12
Bazı Notlar

• Numpy dizi elemanlarına, liste elemanlarında olduğu gibi indis


numaraları ile erişilir. Numpy dizilerin boyutu eksen (axis)’ler ve rank
(derece/yükseklik)’ler ile ifade edilir. NumPy dizilerinde bu eksenler
”axis” parametresi ile ifade edilir. 2 boyutlu (matris) bir dizide
sütunlar ”axis=0”, satırlar ise ”axis=1” ile 3 boyutlu (3D) bir dizide
ise yükseklik (derece) ”axis=0”, sütunlar ”axis=1”, satırlar ise
”axis=2” ile ifade edilir.
• Dizi boyutlarını karıs, tıranlar için: 3 boyutlu dizi tanımlamasında; üç
“[[[...]]]” köşeli parantez, 2 boyutlu dizide iki “[[..]]” köşeli parantez,
tek boyutlu dizide bir “[.]” köşeli parantez kullanılır.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 7 / 12


NumPy Dizi İs, lemleri

• ndim(): Dizinin boyutunu gösterir.


• shape(): Dizinin kaç satır ve kaç sütundan oluştuğunu gösterir.
• size(): Dizideki toplam öğe sayısını ifade eder.
• dtype(): Dizideki öğelerin veri tipini ifade eder.
• itemsize(): Dizideki her öğenin bayt cinsinden boyutunu (bellekte
kapladığı alan) ifade eder.
• reshape(): Dizinin şeklinim değiştirilmesini sağlar ancak verisini
değiştirmez.
• [Link]((n,m)) veya [Link]((n,m)): Tek boyutlu d dizisini
n×m boyutlu matrise dönüştürür. Yani diziyi yeniden boyutlandırır
(şekillendirir).
• [Link]() veya [Link](): A matrisini tek boyutlu diziye dönüştürür.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 8 / 12


NumPy Dizi İs, lemleri

• A.T veya [Link](): A matrisinin transpozesini alır.


• [Link](): Dizinin elemanlarının ortalamasını verir.
• [Link](): Dizinin tüm elemanlarını toplar.
• [Link](): Dizinin tüm elemanlarını çarpar.
• [Link](axis=1): Verilen eksendeki elemanlar (axis=1 için
satırlar) üzerinde yığmalı/birikimli toplama işlemi gerçekleştirir.
• [Link](axis=1): Verilen eksendeki elemanlar (axis=1 için
satırlar) üzerinde yığmalı/birikimli çaprma işlemi gerçekleştirir.
• [Link](axis=): Verilen eksendeki en büyük değerdeki elemanı verir.
• [Link](axis=): Verilen eksendeki en küçük değerdeki elemanı verir.
• [Link](axis=): Verilen eksendeki en büyük değerdeki elemanın
indisini verir.
• [Link](axis=): Verilen eksendeki en küçük değerdeki elemanın
indisini verir.
Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 9 / 12
NumPy Dizi İs, lemleri

• [Link](a,b): İki diziyi/matrisi (a,b) çarpar.


• [Link](a,b): İki diziyi/matrisi (a,b) toplar.
• B=[Link](A): A dizisinin tüm elemanlarını B dizisine kopyalar.
• [Link](): Bir dizideki tekil değerleri verir.
• [Link](koşul): Koşula uyan elemanın indisini verir.
• np.intersect1d(a,b): İki veya daha fazla dizideki ortak elemanları
verir.
• np.setdiff1d(a,b): Birinci dizide olup, ikinci dizide olamayan eleman-
ları verir.
• [Link](): Verilen eksendeki en büyük ve en küçük değerler arasındaki
farkı verir.
• [Link](d, axis=None): Verilen eksendeki (verilmemişse tüm)
elemanları sıralar.
• [Link](d,aranan): Sıralı bir dizide aranan elemanın indis
numarasını verir.
Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 10 / 12
Numpy Kütüphanesi

NumPy ile veri analizi yapmanın bazı temel avantajları şunlardır:

• N Boyutlu Veri İşleme: NumPy, çok boyutlu ve karmaşık veri


setleriyle çalışma konusunda kullanışlıdır.
• Bellek Verimliliği: NumPy dizileri, özellikle sayısal hesaplamalar
için Python listelerine göre daha az bellek tüketir.
• Verimli Veri Depolama: NumPy, büyük miktarda veriyi depolama
ve işleme konusunda etkilidir.
• Matematiksel İşlemler: NumPy’da matematiksel işlemler yapmak
oldukça basittir.
• Uyumlu Çalışma: NumPy, diğer Python paketleri ile sorunsuz bir
şekilde etkileşimde bulunur. Python’daki pek çok makine öğrenimi ve
veri analizi paketi NumPy’ın bazı kapasitelerini kullanır. Bu da farklı
kütüphaneler arasında uyumluluğu ve kullanım kolaylığını artırır.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 11 / 12


Numpy Kütüphanesi

• NUMPY kütüphanesi genelde ARRAY’ler yani MATRIX’lerle yapılan


matematiksel işlemlerde kullanılır. Fakat PANDAS kütüphanesi
DataFrame diye tabir ettiğimiz yapılar için olusturulmuş bir
kütüphanedir.

Sema AKIN BAŞ MAT4560 Bilgisayar Programlama 2 12 / 12

You might also like