Veri kitaplığı NumPy
NumPy — vektörler, matrisler ve dizilerle çalışmak için çok sayıda işlemi uygulayan Python programlama dili için bir açık kaynak kitaplığı.
Yorumlanan dillerde (örn. Python) uygulanan matematiksel algoritmalar, genellikle derlenmiş dillerde (örn. Fortran, C, Java) uygulananlardan çok daha yavaştır. NumPy kütüphanesi, çok boyutlu dizilerle çalışmak için optimize edilmiş hesaplama algoritmalarının (işlevler ve işleçler biçiminde) uygulamalarını sağlar.
Sonuç olarak, diziler (matrisler) üzerinde bir dizi işlem olarak ifade edilebilen ve NumPy kullanılarak uygulanabilen herhangi bir algoritma yeterince hızlıdır.
NumPy (Numeric Python), verilerle çalışmak için temel bir matematik kitaplığıdır. Bu kitaplık, makine öğrenimi veya veri analizi görevleriyle çalışmak için diğer kitaplıkların temelini oluşturur (örneğin, Pandalar (tablo verileriyle çalışma), SciPy (optimizasyon yöntemleri ve bilimsel hesaplamalar), < tt>Matplotlib (çizim)).
NumPy ile Çalışma
Numpy kütüphanesi ile çalışmaya başlamak için, diğer kütüphaneler gibi onu da programın başında içe aktarmanız gerekir.
numpy'yi içe aktar
ya da öylesine (ki daha sık kullanılır)
numpy'yi np olarak içe aktar
NumPy Vektörleri
NumPy'deki bir vektör (veya dizi), sıralı bir türdeş veri kümesidir.
Bir vektörün bir elemanına, tıpkı listelerde olduğu gibi indeksi ile erişilebilir. Vektörün her öğesinin, oluşturma sırasında belirlenen kendi özel yeri vardır.
Tüm vektör öğeleri aynı veri türüne sahiptir (int, str, bool, vb.).
Vektör Oluşturma
Bir vektör oluşturmak için numpy.array yapıcısını (yinelenebilir bir nesne) kullanmanız gerekir.
Parantezler yinelenebilir herhangi bir nesneyi belirtir: demet, liste, aralık(), vb.
Örnek
numpy'yi np olarak içe aktar
numpy'yi np olarak içe aktar
print(np.array((1,2,3,4,5))) # demetten vektör
print(np.array([1,2,3,4,5])) # listeden vektör
print(np.array(range(5))) # oluşturucudan vektör
|
Vektör öğeleriyle çalışma
Vektör öğeleriyle çalışmak, liste öğeleriyle çalışmakla aynıdır, öğelere dizinlerine göre erişebilir ve ayrıca dilimler oluşturabilirsiniz.
Örnek
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
5
6
7
|
numpy'yi np olarak içe aktar
V = np.dizi((1,2,3,4))
yazdır(V[0]) # 1
yazdır(V[-1]) # 4
yazdır(V[1:-2]) # [2]
print(V[::2]) # [1 3]
|
|
Vektör öğelerini seçme
Vektör öğelerini seçmek için mantıksal değerler (ifadeler) içeren bir vektör kullanabilirsiniz. Boolean değerlere sahip vektörde True olacak vektörün elemanları seçilecektir.
Örnek
numpy'yi np olarak içe aktar
V = np.array([1,-2,3,-4,5])
# vektörün ilk iki öğesini seçin
print(V[np.array((Doğru, Doğru, Yanlış, Yanlış, Yanlış))]) # [ 1 -2]
# pozitif vektör öğelerini seçin
yazdır(V[D > 0]) # [1 3 5]
# çift vektör öğelerini seçin
print(V[V % 2 == 0]) # [-2 -4]
|
Dizi ve matris oluşturma yolları
Diziler ve matrisler oluşturmanın diğer yararlı yolları.
Örnek
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
5
6
7
8
9
10
on bir
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
otuz
31
32
33
34
35
36
37
|
numpy'yi np olarak içe aktar
# Tek boyutlu sıfır dizisi
print(np.zero(5)) #[0. 0.0.0.0.]
# İki boyutlu sıfır dizisi
print(np.sıfırlar((2, 3))) # [[0. 0.0.]
#[0. 0.0.]]
# 3B birim dizisi
print(np.ones((2,3,4))) # [[[1. 1. 1. 1.]
# [1. 1. 1. 1.]
# [1. 1. 1. 1.]]
#
# [[1. 1. 1. 1.]
# [1. 1. 1. 1.]
# [1. 1. 1. 1.]]]
# Tip göstergeli sıfır dizisi
print(np.zeros(5, dtype=np.int)) # [0 0 0 0 0]
# Liste listesine dayalı bir dizi
print(np.array([[1,2.0],[0,0],(1,3.)])) # [[1. 2.]
#[0. 0.]
# [1. 3.]]
# 0'dan başlayan bir aritmetik ilerlemenin öğeleriyle dolu bir dizi
print(np.arange(10)) # [0 1 2 3 4 5 6 7 8 9]
# Tip göstergeli aritmetik ilerleme
print(np.arange(2, 10, dtype=np.float)) # [2. 3. 4. 5. 6. 7. 8. 9.]
# Tamsayı olmayan farkla aritmetik ilerleme
print(np.arange(2, 3, 0.1)) # [2. 2,1 2,2 2,3 2,4 2,5 2,6 2,7 2,8 2,9]
# Belirli sayıda terimle aritmetik ilerleme
print(np.linspace(1., 4., 6)) # [1. 1,6 2,2 2,8 3,4 4. ]
|
|
Sıfır dizi öğesi
Fonksiyon sıfırdan farklı(V)
Sonuç, bir dizi dizisidir. Bu tür her dizi, orijinal dizinin ayrı bir eksenine karşılık gelir ve bu dizide sıfır olmayan öğelere sahip dizinler içerir.
V - bir NumPy dizisi veya dizi benzeri nesne.
Orijinal V dizisinin sıfır olmayan öğelerinin dizin dizileriyle birlikte bir Python tuple (tuple) - tuple döndürür.
İşlev count_nonzero(V)
Bu işlev, Python nesnelerinin doğru olup olmadığını kontrol eden yerleşik __bool__() yöntemine dayalıdır. count_nonzero() işlevinin aslında yalnızca sayılarla değil, aynı zamanda doğru veya yanlış olabilen tüm nesnelerle de çalışabildiği sonucu çıkar.
V - bir NumPy dizisi veya dizi benzeri nesne.
İşlev, belirtilen eksen boyunca sıfır olmayan dizi öğelerinin sayısını döndürür.
|
Çapraz Diziler
diag(V, k=0) işlevi, bir diziden köşegen çıkarmanıza ve tek boyutlu dizilerden köşegen diziler oluşturmanıza olanak tanır.
V - Dizi benzeri bir nesne, iki boyutlu veya tek boyutlu diziler, matrisler, listeler veya demetler veya bir liste veya demet döndüren bir yöntemi olan herhangi bir işlev veya nesne.
k - köşegenin dizini (isteğe bağlı).
Varsayılan, ana köşegene karşılık gelen k = 0 şeklindedir. Pozitif bir k değeri köşegeni yukarı, negatif bir değer ise aşağı taşır.
İşlev, dizi NumPy (ndarray ) - belirtilen dizi köşegenini veya belirtilen tek boyutlu diziden köşegen diziyi döndürür.
|
2B NumPy dizileri
İki boyutlu bir dizinin bir elemanına, elemanın koordinatları, önce satır numarası, sonra sütun numarası belirtilerek erişilir. Koordinatlar virgülle ayrılmıştır.
Herhangi bir dizi, reshape(). işlevi kullanılarak iki boyutlu bir diziye dönüştürülebilir.
Örnek
<ön stil="kenar boşluğu:0px; sağ kenar boşluğu:0px; sağ kenar boşluğu:5px">
1
2
3
4
5
6
7
8
|
# reshape() işlevi, verilerini değiştirmeden bir dizinin şeklini değiştirir.
x = np.arange(12).reshape(3, 4)
yazdır(x) # [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
# Bir öğeye erişmek için koordinatlarını virgülle ayırarak belirtin
print(x[1, 2]) # 6
|
|