NumPy ufunc'ları
ufunc nedir?
ufuncs "Evrensel İşlevler" anlamına gelir ve bunlar ndarray
nesne üzerinde çalışan NumPy işlevleridir.
Neden ufuncs kullanılır?
ufuncs, öğeler üzerinde yineleme yapmaktan çok daha hızlı olan NumPy'de 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 sağlarlar.
ufuncs ayrıca aşağıdaki gibi ek argümanlar alır:
where
Boolean dizisi veya işlemlerin nerede gerçekleşeceğini tanımlayan koşul.
dtype
öğelerin dönüş türünü tanımlama.
out
dönüş değerinin kopyalanması gereken çıktı dizisi.
Vektörleştirme nedir?
Yinelemeli ifadeleri vektör tabanlı bir işleme dönüştürmeye 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.
Örnek
ufunc olmadan Python'un yerleşik zip()
yöntemini kullanabiliriz:
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = []
for i, j in zip(x, y):
z.append(i + j)
print(z)
NumPy'nin bunun add(x, y)
için aynı sonucu üretecek bir ufunc'u vardır.
Örnek
ufunc ile şu add()
işlevi kullanabiliriz:
import numpy as np
x = [1, 2, 3, 4]
y = [4, 5, 6, 7]
z = np.add(x, y)
print(z)