Numpy
Numerical Computing in Python
(Nümerik Python)
1
• Numpy, Python programlama dili için mevcut kütüphanelerden
biridir. Bu kütüphane veya modül, önceden derlenmiş sayısal ve
matematiksel fonksiyonlar sağlar. Bu nedenle lineer cebir ve
matris gibi matematiksel alanlarda çalışma yapmaya en uygun
kütüphanedir.
• Numpy, çok boyutlu dizilerde ve bilimsel hesaplamalarda belleği
verimli kullanmak üzere tasarlanmıştır. NumPy, 2005 yılında Travis
Oliphant tarafından oluşturulan açık kaynak kodlu bir projedir.
• NumPy, Nümerik Python yani Sayısal Python anlamına gelir.
2
Numpy
• Numpy, Scipy ve Matplotlib, Python'da MATLAB benzeri işlevsellik
sağlar.
Numpy'nin Özellikleri:
• Çok boyutlu diziler (matrisler)
• Hızlı sayısal hesaplamalar (matris matematiği)
• Üst düzey matematik fonksiyonları
3
NumPy'ye neden ihtiyacımız var?
• Python sayısal hesaplamaları yavaş yapar.
1000 x 1000 matris çarpımı:
• Python üçlü döngü > 10 dakika sürer.
• Numpy ~0.03 saniye sürer
4
• Veri Biliminde Neden NumPy Kullanılmalı?
• Python’da programlamada kullandığımız dizilerin amacına hizmet
eden listelerimiz (list) var, ancak bunların çalışma süreci yavaştır.
NumPy, geleneksel Python’un kullandığı dizi nesnelerinden 50 kat
daha hızlı bir dizi nesnesi sağlamayı amaçlamaktadır.
• NumPy’deki dizi nesnesine ndarray denir. NumpPy ndarray ile
çalışmayı çok çok kolaylaştıran birçok destek fonksiyonu barındırır.
5
• pip install numpy
Komutu ile numpy kurulumu yapılabilir
• Komutu ile numpy kütüphanesi projeye eklenilmekte ve «np»
takma adı verilmektedir.
6
Arrays
Yapılandırılmış sayı listeleri.
• Vektörler
• Matrisler
• Görüntüler
• Tensörler
• ConvNet'ler
7
Arrays
Yapılandırılmış sayı listeleri.
• Vektörler
• Matrisler
• Görüntüler
• Tensörler
• ConvNet'ler
8
Arrays
Yapılandırılmış sayı listeleri.
• Vektörler
• Matrisler
• Görüntüler
• Tensörler
• ConvNet'ler
9
Arrays
Yapılandırılmış sayı listeleri.
• Vektörler
• Matrisler
• Görüntüler
• Tensörler
• ConvNet'ler
10
11
NumPy ndarray Nesnesi Oluşturma
12
Diziler (Arrays)
import numpy as np
a = [Link]([[1,2,3],[4,5,6]],dtype=np.float32)
print [Link], [Link], [Link]
1. Diziler, sıfır dahil olmak üzere herhangi bir sayıda boyuta sahip olabilir.
2. Dizi elemanlarının tipleri: np.uint8, np.int64, np.float32, np.float64
3. Diziye ait her eleman vardır ve aynı tiptedir. Yani yoğun özellik gösterir
13
• Bir ndarray oluşturmak için list, tuple, set, dict gibi herhangi bir dizi
benzeri nesne, array () ile bir ndarray biçimine dönüştürülebilir.
14
1-D Diziler
15
2-D Diziler
• Genellikle matrisleri veya ikinci dereceden tensörleri temsil
etmek için kullanılır
16
3-D diziler
• Genellikle üçüncü dereceden bir tensörü temsil etmek için
kullanılır
17
NumPy Dizi İndeksleme/ Dizi Elemanlarına Erişim
18
NumPy Dizi İndeksleme/ Dizi Elemanlarına
Erişim
19
20
21
Negatif İndeksleme
22
NumPy Slicing
• NumPy’da slicing, belirli bir indeksten belirli bir indekse kadar
olan elemanları almak anlamına gelir.
[başlangıç: bitiş: artış miktarı]
23
24
25
26
Arrays
• [Link], [Link]
• [Link]
• [Link]
• [Link]
• np.zeros_like,
np.ones_like
• [Link]
27
Arrays
• [Link], [Link]
• [Link]
• [Link]
• [Link]
• np.zeros_like,
np.ones_like
• [Link]
28
Transpoze .T
a = [Link](10).reshape(5,2)
a = a.T
Matrislerin çarpımı
[Link](x,y)
29
Matematiksel Operatörler
• Mantıksal operatör bir bool dizisi döndürür
30