PYTHON NUMPY (8) – NumPy Ufuncs – Ufuncs nedir? – PYTHON NUMPY DANIŞMANLIK

Ödevcim Online, Python, Python örnekleri, Python ödev yaptırma, Python danışmanlık, Python proje yaptırma, Python tez yaptırma aramalarınızın sonucu olarak burada. Tüm bölümlerde Python danışmanlık, Python yardım talepleriniz için akademikodevcim@gmail.com mail adresinden bize ulaşabilir veya sayfanın en altındaki formu doldurup size ulaşmamızı bekleyebilirsiniz.
NumPy Ufuncs
Ufuncs nedir?
Ufuncs “Evrensel İşlevler” anlamına gelir ve bunlar ndarray nesnesinde çalışan NumPy işlevleridir.
Neden ufuncs kullanılır?
Ufuncs, NumPy’de elemanlar üzerinde yinelemekten çok daha hızlı olan vektörleştirmeyi uygulamak için kullanılır.
Ayrıca, hesaplama için çok yararlı olan yayın ve azaltma, biriktirme vb. Gibi ek yöntemler de sağlarlar.
ufuncs ayrıca aşağıdaki gibi ek argümanlar alır:
- Burada, işlemlerin nerede yapılacağını tanımlayan boole dizisi veya koşulu.
- elemanların dönüş tipini tanımlayan dtype.
- çıkış değerinin kopyalanacağı çıkış dizisi.
Vektörizasyon nedir?
Yinelemeli ifadelerin vektör tabanlı bir işleme dönüştürülmesine vektörleştirme denir.
Modern CPU’lar bu tür işlemler için optimize edildiğinden daha hızlıdır.
İki Listenin Öğelerini Ekleme
liste 1: [1, 2, 3, 4]
liste 2: [4, 5, 6, 7]
Bunu yapmanın bir yolu, her iki listeyi de yinelemek ve ardından her bir öğeyi toplamaktır.
Misal
Ufunc olmadan, Python’un yerleşik zip () yöntemini kullanabiliriz:
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
i, j zip (x, y) için:
z. ek (i + j)
baskı (Z)
NumPy’de bunun için aynı sonucu üretecek add (x, y) adı verilen bir ufunc vardır.
Misal
Ufunc ile add () fonksiyonunu kullanabiliriz:
np’yi np olarak içe aktar
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.ekle (x, y)
baskı (Z)
Kendi Ufunc’unuzu Oluşturun!
Kendiniz için Ufunc Nasıl Oluşturulur?
Kendi ufunc’unuzu oluşturmak için, Python’daki normal işlevlerde olduğu gibi bir işlev tanımlamanız gerekir, sonra da frompyfunc () yöntemiyle NumPy ufunc kitaplığınıza eklersiniz.
Frompyfunc () yöntemi aşağıdaki bağımsız değişkenleri alır:
- işlev – işlevin adı.
- girdiler – girdi bağımsız değişkenlerinin (diziler) sayısı.
- çıkışlar – çıkış dizilerinin sayısı.
Misal
Eklemek için kendi ufuncunuzu oluşturun:
np’yi np olarak içe aktar
def myadd (x, y):
dönüş x + y
myadd = np.frompyfunc (myadd, 2, 1)
baskı (myadd ([1, 2, 3, 4], [5, 6, 7, 8]))
Bir Fonksiyonun bir ufunc olup olmadığını kontrol edin.
Ufunc olup olmadığını kontrol etmek için bir fonksiyonun tipini kontrol edin.
Bir ufunc <class ‘numpy.ufunc’> döndürmelidir.
Misal
Bir işlevin bir ufunc olup olmadığını kontrol edin:
np’yi np olarak içe aktar
yazdırmak (tip (np.add))
Bir ufunc değilse, iki veya daha fazla diziyi birleştirmek için bu yerleşik NumPy işlevi gibi başka bir tür döndürür:
Misal
Başka bir işlevin türünü kontrol edin: concatenate ():
np’yi np olarak içe aktar
Baskı (tip (np.concatenate))
Kendin dene “
İşlev hiç tanınmazsa, bir hata döndürür:
Misal
Var olmayan bir şeyin türünü kontrol edin. Bu bir hata oluşturur:
np’yi np olarak içe aktar
Baskı (tip (np.blahblah))
Bir if ifadesinde işlevin bir ufunc olup olmadığını test etmek için numpy.ufunc değerini (veya nump için takma ad olarak np kullanıyorsanız np.ufunc) kullanın:
Misal
İşlevin bir ufunc olup olmadığını kontrol etmek için bir if ifadesi kullanın:
np’yi np olarak içe aktar
eğer tür (np.add) == np.ufunc:
yazdır (‘add is ufunc’)
Başka:
print (‘add ufunc değil’)
Basit Aritmetik
+ – * / aritmetik işleçlerini doğrudan NumPy dizileri arasında kullanabilirsiniz, ancak bu bölümde, diziye benzer herhangi bir nesneyi alabilen işlevlere sahip olduğumuz yerde bunun bir uzantısı anlatılmaktadır. listeler, tuples vb.
Aritmetik Koşullu: aritmetik işlemin olması gereken koşulları tanımlayabileceğimiz anlamına gelir.
Tartışılan aritmetik işlevlerin tümü, bu koşulu belirleyebileceğimiz bir where parametresini alır.
İlave
Add () işlevi iki dizinin içeriğini toplar ve sonuçları yeni bir dizide döndürür.
Misal
Arr1’deki değerleri arr2’deki değerlere ekleyin:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 11, 12, 13, 14, 15])
arr2 = np. dizisi ([20, 21, 22, 23, 24, 25])
newarr = np.ekle (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek, 10 + 20, 11 + 21, 12 + 22 vb. Toplamlar olan [30 32 34 36 38 40] döndürecektir.
Çıkarma
Subtract () işlevi, bir dizideki değerleri başka bir dizideki değerlerle çıkarır ve sonuçları yeni bir dizide döndürür.
Misal
Arr2’deki değerleri arr1’deki değerlerden çıkarın:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([20, 21, 22, 23, 24, 25])
newarr = np.subtract (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek, 10-20, 20-21, 30-22 vb. Sonucu [-10 -1 8 17 26 35] döndürecektir.
Çarpma işlemi
Multiply () işlevi, bir dizideki değerleri başka bir dizideki değerlerle çarpar ve sonuçları yeni bir dizide döndürür.
Misal
Arr1’deki değerleri arr2’deki değerlerle çarpın:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([20, 21, 22, 23, 24, 25])
newarr = np.multiply (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek, 10 * 20, 20 * 21, 30 * 22 vb.’nin sonucu olan [200 420 660 920 1200 1500] döndürecektir.
Bölünme
Divide () işlevi, bir dizideki değerleri başka bir dizideki değerlerle böler ve sonuçları yeni bir dizide döndürür.
Misal
Arr1’deki değerleri arr2’deki değerlerle bölün:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([3, 5, 10, 8, 2, 33])
newarr = np.bölm (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek 10/3, 20/5, 30/10 vb. Sonucu [3.33333333 4. 3. 5. 25. 1.81818182] döndürecektir.
Güç
Power () işlevi, değerleri ilk diziden ikinci dizinin değerlerine yükseltir ve sonuçları yeni bir dizide döndürür.
Misal
Arr1’deki değerliklerini ar2’deki değerlerin gücüne yükseltin:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([3, 5, 6, 8, 2, 33])
newarr = np.power (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek, 10 * 10 * 10, 20 * 20 * 20 * 20 * 20, 30 * 30 * 30 * 30 * 30 * 30 vb.’nin sonucu olan [1000 3200000 729000000 6553600000000 2500 0] döndürecektir.
Kalan
Hem mod () hem de remairt () işlevleri, ikinci dizideki değerlere karşılık gelen ilk dizideki değerlerin geri kalanını döndürür ve sonuçları yeni bir dizide döndürür.
Misal
Geri kalanları iade et:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([3, 7, 9, 8, 2, 33])
newarr = np.mod (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek, 10’u 3’e (% 10 3), 20’yi 7’ye (% 20 7) 30’u 9’a (% 30 9) vb. Böldüğünüzde kalan [1 6 3 0 0 27] döndürecektir.
Remainder () işlevini kullanırken aynı sonucu alırsınız:
Misal
Geri kalanları iade et:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([3, 7, 9, 8, 2, 33])
newarr = np.remainder (arr1, arr2)
yazdırmak (newarr)
Bölüm ve Mod
Divmod () işlevi hem bölümü hem de modu döndürür. Dönüş değeri iki dizidir, ilk dizi bölümü içerir ve ikinci dizi modu içerir.
Misal
Bölümü döndürün ve mod:
np’yi np olarak içe aktar
arr1 = np. dizisi ([10, 20, 30, 40, 50, 60])
arr2 = np. dizisi ([3, 7, 9, 8, 2, 33])
newarr = np.divmod (arr1, arr2)
yazdırmak (newarr)
Yukarıdaki örnek geri dönecektir:
(dizi ([3, 2, 3, 5, 25, 1]), dizi ([1, 6, 3, 0, 0, 27]))
İlk dizi bölümleri temsil eder (10 ile 3, 20 ile 7, 30 ile 9 vb.
İkinci dizi, aynı bölümlerin kalanlarını temsil eder.
Mutlak Değerler
Hem absolute () hem de abs () işlevleri, aynı mutlak işlemi element olarak yapar, ancak python’un dahili math.abs () ile karışıklığı önlemek için absolute () kullanmalıyız
Misal
Bölümü döndürün ve mod:
np’yi np olarak içe aktar
arr = np. dizisi ([- 1, -2, 1, 2, 3, -4])
newarr = np. mutlak (arr)
yazdırmak (newarr)
Yukarıdaki örnek [1 2 1 2 3 4] döndürecektir.
Ödevcim Online, Python, Python örnekleri, Python ödev yaptırma, Python danışmanlık, Python proje yaptırma, Python tez yaptırma aramalarınızın sonucu olarak burada. Tüm bölümlerde Python danışmanlık, Python yardım talepleriniz için akademikodevcim@gmail.com mail adresinden bize ulaşabilir veya sayfanın en altındaki formu doldurup size ulaşmamızı bekleyebilirsiniz.
Basit Aritmetik Bölüm ve Mod Bölünme Çarpma işlemi Çıkarma Güç İlave Kalan Kendi Ufunc'unuzu Oluşturun! Kendiniz için Ufunc Nasıl Oluşturulur? Mutlak Değerler Neden ufuncs kullanılır? NumPy Ufuncs Ufuncs nedir? Vektörizasyon nedir?