Python Yeni Başlayanlar İçin NumPy Eğitimi: Örneklerle Öğrenin
NumPy nedir? Python?
Dizi açık kaynak kodlu bir kütüphanedir Python, matematiksel, bilimsel, mühendislik ve veri bilimi programlamada yardımcı olur. Matematiksel ve istatistiksel işlemleri gerçekleştirmek için çok kullanışlı bir kütüphanedir. Python. Çok boyutlu diziler ve matris çarpımı için mükemmel çalışır. C/ ile entegrasyonu kolaydırC++ ve Fortran.
Herhangi bir bilimsel proje için NumPy bilinmesi gereken bir araçtır. N boyutlu dizi, doğrusal cebir, rastgele sayı, Fourier dönüşümü vb. ile çalışacak şekilde tasarlanmıştır.
NumPy, çok boyutlu diziler ve matrislerle ilgilenen bir programlama dilidir. Dizilerin ve matrislerin yanı sıra NumPy çok sayıda matematiksel işlemi de destekler. Bu bölümde ' ile ilgili eğitim için bilmeniz gereken temel işlevleri gözden geçireceğiz.TensorFlow. '
NumPy'yi neden kullanmalısınız?
NumPy bellek verimliliğidir, yani büyük miktarda veriyi diğer kütüphanelerden daha erişilebilir bir şekilde işleyebilir. Ayrıca NumPy, özellikle matris çarpımı ve yeniden şekillendirme için çalışmaya çok uygundur. Üstelik NumPy hızlıdır. Aslında TensorFlow ve Scikit, arka uçtaki matris çarpımını hesaplamak için NumPy dizisini kullanmayı öğreniyor.
NumPy Nasıl Kurulur
NumPy kütüphanesini kurmak için lütfen eğitimimize bakın. TensorFlow nasıl kurulur. NumPy varsayılan olarak Anaconda ile birlikte kurulur.
Uzak durumda, NumPy kurulmamış-
NumPy'yi Anaconda'yı kullanarak yükleyebilirsiniz:
conda install -c anaconda numpy
- In Jupyter Not defteri :
import sys !conda install --yes --prefix {sys.prefix} numpy
NumPy'yi İçe Aktarın ve Sürümü Kontrol Edin
Numpy'yi içe aktarma komutu:
import numpy as np
Yukarıdaki kod, Numpy ad alanını np olarak yeniden adlandırır. Bu, Numpy işlevinin, yöntemlerinin ve niteliklerinin önüne "numpy" yazmak yerine "np" koymamıza olanak tanır. Numpy literatüründe bulacağınız standart kısayoldur.
NumPy'nin yüklü sürümünü kontrol etmek için aşağıdaki komutu kullanın:
print (np.__version__)
Çıktı:
1.18.0
Nedir? Python NumPy Dizisi?
NumPy dizileri biraz benzer Python listeler, ancak aynı zamanda hala çok farklı. Konuya yeni başlayanlar için bunun tam olarak ne olduğunu ve neye iyi geldiğini açıklayalım.
Adından da anlaşılabileceği gibi NumPy dizisi, numpy kütüphanesinin merkezi veri yapısıdır. Kütüphanenin adı aslında “Sayısal” kelimesinin kısaltmasıdır. Python” veya “Sayısal Python anlayışının sonucu olarak, buzdolabında iki üç günden fazla durmayan küçük şişeler elinizin altında bulunur.
NumPy Dizisi Oluşturma
Numpy'de bir dizi oluşturmanın en basit yolu kullanmaktır. Python Liste
myPythonList = [1,9,8,3]
Python listesini np.array nesnesini kullanarak numpy dizisine dönüştürmek için.
numpy_array_from_list = np.array(myPythonList)
Listenin içeriğini görüntülemek için
numpy_array_from_list
Çıktı:
array([1, 9, 8, 3])
Uygulamada herhangi bir beyanda bulunulmasına gerek yoktur. Python Liste. İşlem birleştirilebilir.
a = np.array([1,9,8,3])
NOT: Numpy belgeleri, bir dizi oluşturmak için np.ndarray kullanımını belirtir. Ancak önerilen yöntem budur.
Ayrıca bir Tuple'dan bir numpy dizisi de oluşturabilirsiniz.
Matematiksel OperaBir Dizideki İşlemler
Bir dizi üzerinde toplama, çıkarma, bölme ve çarpma gibi matematiksel işlemleri gerçekleştirebilirsiniz. Sözdizimi, dizi adı ve ardından işlem (+.-,*,/) ve ardından işlenendir.
Örnek:
numpy_array_from_list + 10
Çıktı:
array([11, 19, 18, 13])
Bu işlem numpy dizisinin her elemanına 10 ekler.
Dizinin Şekli
Dizinin şeklini, dizinin adından önce gelen nesne şekliyle kontrol edebilirsiniz. Aynı şekilde dtypes ile tipi kontrol edebilirsiniz.
import numpy as np a = np.array([1,2,3]) print(a.shape) print(a.dtype) (3,) int64
Tam sayı, ondalık sayı içermeyen bir değerdir. Ondalık sayı içeren bir dizi oluşturursanız tür, kayan nokta olarak değişecektir.
#### Different type b = np.array([1.1,2.0,3.2]) print(b.dtype) float64
2 Boyutlu Dizi
“,”Koma ile boyut ekleyebilirsiniz
[] parantezinin içinde olması gerektiğini unutmayın.
### 2 dimension c = np.array([(1,2,3), (4,5,6)]) print(c.shape) (2, 3)
3 Boyutlu Dizi
Daha yüksek boyut aşağıdaki şekilde oluşturulabilir:
### 3 dimension d = np.array([ [[1, 2,3], [4, 5, 6]], [[7, 8,9], [10, 11, 12]] ]) print(d.shape) (2, 2, 3)
Nesnel | Kod |
---|---|
Dizi oluştur | dizi([1,2,3]) |
şekli yazdır | dizi([.]).şekil |
Numpy.zeros() nedir?
numpy.sıfır() veya np.zero Python Sıfırlarla dolu bir matris oluşturmak için fonksiyon kullanılır. numpy.zeros() içinde Python TensorFlow'daki ilk yineleme sırasında ve diğer istatistik görevlerinde ağırlıkları başlattığınızda kullanılabilir.
numpy.zeros() işlevi Sözdizimi
numpy.zeros(shape, dtype=float, order='C')
Python numpy.zeros() Parametreleri
Burada,
- Shape: numpy sıfır dizisinin şeklidir
- Dtipi: numpy sıfırlarındaki veri türüdür. Bu isteğe bağlıdır. Varsayılan değer float64'tür
- Sipariş Numarası: Varsayılan, numpy.zeros() için temel bir satır stili olan C'dir. Python.
Python numpy.zeros() Örnek
import numpy as np np.zeros((2,2))
Çıktı:
array([[0., 0.], [0., 0.]])
Datatype ile numpy sıfır örneği
import numpy as np np.zeros((2,2), dtype=np.int16)
Çıktı:
array([[0, 0], [0, 0]], dtype=int16)
Numpy.ones() nedir?
np.ones() işlevi birlerle dolu bir matris oluşturmak için kullanılır. numpy.ones() içinde Python TensorFlow'daki ilk yineleme sırasında ve diğer istatistik görevlerinde ağırlıkları başlattığınızda kullanılabilir.
Python numpy.ones() Söz Dizimi
numpy.ones(shape, dtype=float, order='C')
Python numpy.ones() Parametreleri
Burada,
- Shape: np.one'ların şeklidir Python Dizi
- Dtipi: numpy olanlardaki veri türüdür. Bu isteğe bağlıdır. Varsayılan değer float64'tür
- Sipariş Numarası: Varsayılan, temel bir satır stili olan C'dir.
Python numpy.ones() Veri Türü Örneğiyle 2D Dizi
import numpy as np np.ones((1,2,3), dtype=np.int16)
Çıktı:
array([[[1, 1, 1], [1, 1, 1]]], dtype=int16)
numpy.reshape() işlevi Python
Python NumPy Yeniden Şekillendirme işlevi, bir diziyi verilerini değiştirmeden şekillendirmek için kullanılır. Bazı durumlarda verileri genişten uzuna doğru yeniden şekillendirmeniz gerekebilir. Bunun için np.reshape fonksiyonunu kullanabilirsiniz.
np.reshape()'in sözdizimi
numpy.reshape(a, newShape, order='C')
Burada,
a: Yeniden şekillendirmek istediğiniz dizi
yeni şekil: Yeni arzular şekilleniyor
Sipariş Numarası: Varsayılan, temel bir satır stili olan C'dir.
NumPy Yeniden Şekillendirme Örneği
import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) e.reshape(3,2)
Çıktı:
// Before reshape [[1 2 3] [4 5 6]]
//After Reshape array([[1, 2], [3, 4], [5, 6]])
numpy.flatten() içinde Python
Python NumPy Düzleştir Dizinin bir kopyasını tek boyutlu olarak döndürmek için işlev kullanılır. Convnet gibi bir sinir ağıyla uğraşırken diziyi düzleştirmeniz gerekir. Bunun için np.flatten() işlevlerini kullanabilirsiniz.
np.flatten() sözdizimi
numpy.flatten(order='C')
Burada,
Sipariş Numarası: Varsayılan, temel bir satır stili olan C'dir.
NumPy Flatten Örneği
e.flatten()
Çıktı:
array([1, 2, 3, 4, 5, 6])
Numpy.hstack()'ın içeriği nedir? Python?
Numpy.hstack bir fonksiyondur Python Bu, tek bir dizi oluşturmak amacıyla giriş dizilerinin dizilerini yatay olarak istiflemek için kullanılır. Hstack() fonksiyonu ile verileri yatay olarak ekleyebilirsiniz. NumPy'de çok kullanışlı bir fonksiyondur.
Haydi hstack'ı inceleyelim Python bir örnekle:
Örnek:
## Horitzontal Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Horizontal Append:', np.hstack((f, g)))
Çıktı:
Horizontal Append: [1 2 3 4 5 6]
Numpy.vstack()'ın içeriği nedir? Python?
Numpy.vstack bir fonksiyondur Python tek bir dizi oluşturmak amacıyla giriş dizilerinin dizilerini dikey olarak istiflemek için kullanılır. vstack() işleviyle verileri dikey olarak ekleyebilirsiniz.
Bir örnekle inceleyelim:
Örnek:
## Vertical Stack import numpy as np f = np.array([1,2,3]) g = np.array([4,5,6]) print('Vertical Append:', np.vstack((f, g)))
Çıktı:
Vertical Append: [[1 2 3] [4 5 6]]
NumPy vstack ve hstack'ı inceledikten sonra NumPy'de rastgele sayılar üretmeye yönelik bir örnek öğrenelim.
Rastgele Oluştur Numbers NumPy'yi kullanma
Gauss dağılımına yönelik rastgele sayılar oluşturmak için şunu kullanın:
numpy.random.normal(loc, scale, size)
Burada,
- Loc: Ortalama. Dağıtımın merkezi
- ölçek: standart sapma.
- Beden: dönüş sayısı
Örnek:
## Generate random nmber from normal distribution normal_array = np.random.normal(5, 0.5, 10) print(normal_array) [5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
Grafik çizilirse dağılım aşağıdaki çizime benzer olacaktır
NumPy Asarray İşlevi
Bir girişi diziye dönüştürmek istediğinizde asarray() işlevi kullanılır. Giriş bir liste, tuple, ndarray vb. olabilir.
Sözdizimi:
numpy.asarray(data, dtype=None, order=None)[source]
Burada,
veri: Diziye dönüştürmek istediğiniz veriler
tip: Bu isteğe bağlı bir argümandır. Belirtilmemişse, veri türü giriş verilerinden çıkarılır
Sipariş Numarası: Varsayılan, temel bir satır stili olan C'dir. Diğer seçenek F'dir (Fortan tarzı)
Örnek:
Dört satır ve dört sütunun 2 ile doldurulduğu aşağıdaki 1 boyutlu matrisi düşünün.
import numpy as np A = np.matrix(np.ones((4,4)))
Matrisin değerini değiştirmek isterseniz yapamazsınız. Bunun nedeni kopyanın değiştirilmesinin mümkün olmamasıdır.
np.array(A)[2]=2 print(A) [[1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.] [1. 1. 1. 1.]]
Matris değişmez. Orijinal dizide değişiklik eklemek istiyorsanız asarray'i kullanabilirsiniz. Üçüncü satırın değerini 2 değeriyle değiştirmek istediğinizde herhangi bir değişiklik olup olmadığına bakalım.
np.asarray(A)[2]=2 print(A)
Kod Açıklaması:
np.asarray(A): A matrisini bir diziye dönüştürür
[2]: üçüncü satırları seçin
Çıktı:
[[1. 1. 1. 1.] [1. 1. 1. 1.] [2. 2. 2. 2.] # new value [1. 1. 1. 1.]]
Numpy.arange() nedir?
numpy.arange() tanımlanmış bir aralıkta eşit aralıklı değerler içeren bir ndarray nesnesi döndüren yerleşik bir numpy işlevidir. Örneğin 1'den 10'a kadar değerler oluşturmak istiyorsunuz; np.arange() öğesini kullanabilirsiniz. Python fonksiyonu.
Sözdizimi:
numpy.arange(start, stop, step, dtype)
Python NumPy arange Parametreleri:
- Başlama: np.arange için aralığın başlangıcı Python fonksiyonu.
- dur: Aralığın sonu.
- adım: Değerler arasındaki boşluk. Varsayılan adım 1'dir.
- Dtipi: NumPy arange için bir dizi çıktı türüdür Python.
Örnek:
import numpy np np.arange(1, 11)
Çıktı:
array([ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
Örnek:
Bu NumPy arange işlevindeki adımı değiştirmek istiyorsanız Python örneğin parantez içine üçüncü bir sayı ekleyebilirsiniz. Adımı değiştirecek.
import numpy np np.arange(1, 14, 4)
Çıktı:
array([ 1, 5, 9, 13])
NumPy Linspace İşlevi
Linspace eşit aralıklı örnekler verir.
Sözdizimi:
numpy.linspace(start, stop, num, endpoint)
Burada,
- Başlama: Dizinin başlangıç değeri
- dur: Dizinin bitiş değeri
- Içinde: Oluşturulacak örnek sayısı. Varsayılan 50'dir
- Son nokta: True ise (varsayılan), stop son değerdir. False ise stop değeri dahil edilmez.
Örnek:
Örneğin, 10'den 1'e kadar eşit aralıklı 5 değer oluşturmak için kullanılabilir.
import numpy as np np.linspace(1.0, 5.0, num=10)
Çıktı:
array([1. , 1.44444444, 1.88888889, 2.33333333, 2.77777778, 3.22222222, 3.66666667, 4.11111111, 4.55555556, 5. ])
Aralığa son rakamı dahil etmek istemiyorsanız bitiş noktasını false olarak ayarlayabilirsiniz.
np.linspace(1.0, 5.0, num=5, endpoint=False)
Çıktı:
array([1. , 1.8, 2.6, 3.4, 4.2])
LogSpace NumPy İşlevi Python
LogSpace, günlük ölçeğinde çift aralıklı sayıları döndürür. Logspace, np.linspace ile aynı parametrelere sahiptir.
Sözdizimi:
numpy.logspace(start, stop, num, endpoint)
Örnek:
np.logspace(3.0, 4.0, num=4)
Çıktı:
array([ 1000. , 2154.43469003, 4641.58883361, 10000. ])
Son olarak, bir dizideki bir öğenin bellek boyutunu kontrol etmek istiyorsanız itemsize komutunu kullanabilirsiniz.
x = np.array([1,2,3], dtype=np.complex128) x.itemsize
Çıktı:
16
Her öğe 16 bayt alır.
İndeksleme ve Dilimleme Python
Numpy ile verileri dilimlemek önemsizdir. “e” matrisini dilimleyeceğiz. Şunu unutmayın: Python, satırları veya sütunları döndürmek için parantezleri kullanmanız gerekir
Örnek:
## Slice import numpy as np e = np.array([(1,2,3), (4,5,6)]) print(e) [[1 2 3] [4 5 6]]
Numpy ile ilk dizinin/sütunun 0'dan başladığını unutmayın.
## First column print('First row:', e[0]) ## Second col print('Second row:', e[1])
Çıktı:
First row: [1 2 3] Second row: [4 5 6]
In Pythondiğer birçok dil gibi,
- Virgülden önceki değerler satırları temsil etmektedir
- Hakların üzerindeki değer sütunları ifade eder.
- Bir sütun seçmek istiyorsanız sütun indeksinin önüne : eklemeniz gerekir.
- : seçili sütundaki tüm satırları istediğiniz anlamına gelir.
print('Second column:', e[:,1])
Second column: [2 5]
İkinci satırın ilk iki değerini döndürmek için. İkinciye kadar tüm sütunları seçmek için : öğesini kullanırsınız
## Second Row, two values print(e[1, :2]) [4 5]
İstatistiksel Fonksiyonlar Python
NumPy, dizideki belirli öğelerden minimum, maksimum, yüzdelik standart sapma ve varyans vb.'yi bulmak için oldukça az sayıda yararlı istatistiksel fonksiyona sahiptir. Fonksiyonlar şu şekilde açıklanmaktadır:
Numpy aşağıda listelendiği gibi sağlam istatistiksel fonksiyonla donatılmıştır
işlev | Dizi |
---|---|
min | np.min() |
maksimum | np.max() |
Anlamına gelmek | np.ortalama() |
Medyan | np.medyan() |
Standart sapma | np.std() |
Aşağıdaki Diziyi göz önünde bulundurun:
Örnek:
import numpy as np normal_array = np.random.normal(5, 0.5, 10) print(normal_array)
Çıktı:
[5.56171852 4.84233558 4.65392767 4.946659 4.85165567 5.61211317 4.46704244 5.22675736 4.49888936 4.68731125]
NumPy İstatistik fonksiyonu örneği
### Min print(np.min(normal_array)) ### Max print(np.max(normal_array)) ### Mean print(np.mean(normal_array)) ### Median print(np.median(normal_array)) ### Sd print(np.std(normal_array))
Çıktı:
4.467042435266913 5.612113171990201 4.934841002270593 4.846995625786663 0.3875019367395316
Numpy nokta çarpımı nedir?
Numpy.dot ürünü matris hesaplaması için güçlü bir kütüphanedir. Örneğin nokta çarpımı np.dot ile hesaplayabilirsiniz. Numpy.dot çarpımı a ve b'nin iç çarpımıdır. numpy.dot() içinde Python 2 boyutlu dizileri yönetir ve matris çarpımlarını gerçekleştirir.
Sözdizimi:
numpy.dot(x, y, out=None)
parametreler
Burada,
x, y: Giriş dizileri. np.dot() işlevinin çalışması için x ve y'nin her ikisi de 1 boyutlu veya 2 boyutlu olmalıdır
dışarı: Bu, döndürülecek 1 boyutlu dizi skalerinin çıktı argümanıdır. Aksi halde ndarray iade edilmelidir.
Geri dönüşler
numpy.dot() işlevi Python x ve y dizilerinin Nokta çarpımını döndürür. dot() fonksiyonu, hem x hem de y 1-D ise bir skaler döndürür; aksi takdirde bir dizi döndürür. 'out' verilirse döndürülür.
Artırdı
Nokta çarpımı Python x'in son boyutu, y'nin ikinci son boyutuyla aynı boyuta sahip değilse bir ValueError istisnası oluşturur.
Örnek:
## Linear algebra ### Dot product: product of two arrays f = np.array([1,2]) g = np.array([4,5]) ### 1*4+2*5 np.dot(f, g)
Çıktı:
14
Matris Çarpımı Python
Numpy matmul() işlevi, 2 dizinin matris çarpımını döndürmek için kullanılır. İşte nasıl çalışıyor
1) 2 boyutlu diziler, normal ürünü döndürür
2) Boyutlar > 2, ürün bir matris yığını olarak kabul edilir
3) 1 boyutlu dizi ilk önce bir matrise yükseltilir ve ardından çarpım hesaplanır
Sözdizimi:
numpy.matmul(x, y, out=None)
Burada,
x, y: Giriş dizileri. skalerlere izin verilmiyor
dışarı: Bu isteğe bağlı bir parametredir. Genellikle çıktı ndarray'de saklanır
Örnek:
Aynı şekilde np.matmul ile matris çarpımını da hesaplayabilirsiniz.
### Matmul: matruc product of two arrays h = [[1,2],[3,4]] i = [[5,6],[7,8]] ### 1*5+2*7 = 19 np.matmul(h, i)
Çıktı:
array([[19, 22], [43, 50]])
determinant
Son olarak, determinantı hesaplamanız gerekiyorsa np.linalg.det() yöntemini kullanabilirsiniz. Numpy'nin boyutla ilgilendiğini unutmayın.
Örnek:
## Determinant 2*2 matrix ### 5*8-7*6np.linalg.det(i)
Çıktı:
-2.000000000000005
ÖZET
- Python açık kaynak kodlu bir kütüphanedir PythonMatematiksel, bilimsel, mühendislikte yardımcı olan ve veri bilimi programlama.
- numpy.zeros() veya np.zeros Python Sıfırlarla dolu bir matris oluşturmak için fonksiyon kullanılır.
- numpy.ones() içinde Python TensorFlow'daki ilk yineleme sırasında ve diğer istatistik görevlerinde ağırlıkları başlattığınızda kullanılabilir.
- Python NumPy Reshape işlevi, bir diziyi verilerini değiştirmeden şekillendirmek için kullanılır.
- Python NumPy Flatten işlevi, dizinin bir kopyasını tek boyutlu olarak döndürmek için kullanılır.
- Numpy.hstack bir işlevdir Python Bu, tek bir dizi oluşturmak amacıyla giriş dizilerinin dizilerini yatay olarak istiflemek için kullanılır.
- Numpy.vstack bir işlevdir Python tek bir dizi oluşturmak amacıyla giriş dizilerinin dizilerini dikey olarak istiflemek için kullanılır.
- numpy.arange(), tanımlanmış bir aralıkta eşit aralıklı değerler içeren bir ndarray nesnesi döndüren yerleşik bir numpy işlevidir.
- Numpy.dot ürünü, matris hesaplaması için güçlü bir kütüphanedir.
- Numpy matmul() işlevi, 2 dizinin matris çarpımını döndürmek için kullanılır.