Veri Bilimi & Veri Manipülasyonu - Numpy
Matematiksel İşlemler
NumPy kütüphanesin altında matematiksel işlemler yapabilmek için bazı komutlar bulunmaktadır ama o komutlara geçmeden önce basit birkaç uygulama yapalım.
import numpy as np
array=np.random.randint(1,50,10)
print(f"Oluşturulan dizi: {array}")
#Toplama İşlemi
print(f"Tüm sayılara 2 eklendi: {array+2}")
#Çıkarma İşlemi
print(f"Tüm sayılardan 5 çıkartıldı: {array-5}")
#Çarpma İşlemi
print(f"Tüm sayılar 4 ile çarpıldı: {array*4}")
#Bölme İşlemi
print(f"Tüm sayılar 2'ye bölündü: {array/2}")
#Karesini Alma İşlemi
print(f"Tüm sayıların karesi alındı: {array**2}")
#Küpünü Alma İşlemi
print(f"Tüm sayıların küpü alındı: {array**3}")
#Karekökü Alma İşlemi
print(f"Tüm sayıların karekökü alındı: {array**0.5}")
#Modu Alma İşlemi
print(f"Tüm sayıların 5'e bölümünden kalanlar: {array%5}")
Çıktı:
Oluşturulan dizi: [17 12 3 10 30 18 17 1 36 42] Tüm sayılara 2 eklendi: [19 14 5 12 32 20 19 3 38 44] Tüm sayılardan 5 çıkartıldı: [12 7 -2 5 25 13 12 -4 31 37] Tüm sayılar 4 ile çarpıldı: [ 68 48 12 40 120 72 68 4 144 168] Tüm sayılar 2'ye bölündü: [ 8.5 6. 1.5 5. 15. 9. 8.5 0.5 18. 21. ] Tüm sayıların karesi alındı: [ 289 144 9 100 900 324 289 1 1296 1764] Tüm sayıların küpü alındı: [ 4913 1728 27 1000 27000 5832 4913 1 46656 74088] Tüm sayıların karekökü alındı: [4.12310563 3.46410162 1.73205081 3.16227766 5.47722558 4.24264069 4.12310563 1. 6. 6.4807407 ] Tüm sayıların 5'e bölümünden kalanlar: [2 2 3 0 0 3 2 1 1 2]
Yukarıdaki matematiksel işlemlerde görüldüğü gibi +,-,*,/,**2,**3,% gibi semboller kullanarak işlemler yapılabiliyor ama bu sembollerin arkasında bazı matematiksel komutlar çalışmaktadır. Bunları inceleyelim;
#Örneklerde kullanılmak üzere tanımlandı
import numpy as np
myArray1=np.array([3,4,5,6,7])
myArray2=np.array([5,6,7,8,9])
-
add(x1, x2) : Toplama işlemi
np.add(myArray1,myArray2)
Çıktı:
array([ 8, 10, 12, 14, 16])
-
subtract(x1, x2) : Çıkartma işlemi
np.subtract(myArray1,myArray2)
Çıktı:
array([-2, -2, -2, -2, -2])
-
multiply(x1, x2) :Çarpma işlemi
np.multiply(myArray1,myArray2)
Çıktı:
array([15, 24, 35, 48, 63])
-
matmul(x1, x2) :x1 ve x2 dizisinin elemanlarını birbiri ile çarparak toplam sonucu verir.
np.matmul(myArray1,myArray2)
Çıktı:
185
-
divide(x1, x2) :Bölme işlemi
np.divide(myArray1,myArray2)
Çıktı:
array([0.6 , 0.66666667, 0.71428571, 0.75 , 0.77777778])
-
logaddexp(x1, x2) girdilerin üstellerinin toplamının Logaritmasını almak için kullanılır.
np.logaddexp(myArray1,myArray2)
Çıktı:
array([5.12692801, 6.12692801, 7.12692801, 8.12692801, 9.12692801])
-
logaddexp2(x1, x2) 2 tabanında girdilerin üstellerinin toplamının Logaritmasını almak için kullanılır.
np.logaddexp2(myArray1,myArray2)
Çıktı:
array([5.32192809, 6.32192809, 7.32192809, 8.32192809, 9.32192809])
-
negative(x) diziyi negatif değerlerle çarpar
np.negative(myArray1)
Çıktı:
array([-3, -4, -5, -6, -7])
-
positive(x) diziyi pozirif değerlerle çarpar.
np.positive(myArray1)
Çıktı:
array([3, 4, 5, 6, 7])
-
power(x1, x2) x1'değerlerinin x2'nci kuvvetini alır.
np.power(myArray1,2)
Çıktı:
array([ 9, 16, 25, 36, 49], dtype=int32)
np.power(myArray1,myArray2)
Çıktı:
array([ 243, 4096, 78125, 1679616, 40353607], dtype=int32)
-
remainder(x1, x2) x1'in x2'ye bölümünden kalan değerler.
np.remainder(myArray1,myArray2)
Çıktı:
array([3, 4, 5, 6, 7], dtype=int32)
-
mod(x1, x2) x1'in x2'ye göre mod'unu alır.
np.mod(myArray1,myArray2)
Çıktı:
array([3, 4, 5, 6, 7], dtype=int32)
-
absolute(x, /[, out, where, casting, order, …]) mutlak değeri alır
np.absolute(myArray1)
Çıktı:
array([3, 4, 5, 6, 7])
-
log(x) e tabanına göre logaritma alır.
np.log(myArray1)
Çıktı:
array([1.09861229, 1.38629436, 1.60943791, 1.79175947, 1.94591015])
-
log2(x) 2 tabanına göre logaritma alır.
np.log2(myArray1)
Çıktı:
array([1.5849625 , 2. , 2.32192809, 2.5849625 , 2.80735492])
-
log10(x) 10 tabanına göre logaritma alır.
np.log10(myArray1)
Çıktı:
array([0.47712125, 0.60205999, 0.69897 , 0.77815125, 0.84509804])
-
sqrt(x) Karakökünü alır.
np.sqrt(myArray1)
Çıktı:
array([1.73205081, 2. , 2.23606798, 2.44948974, 2.64575131])
- sin(x) Sin değerini alır.
np.sin(myArray1)
Çıktı:
array([ 0.14112001, -0.7568025 , -0.95892427, -0.2794155 , 0.6569866 ])
-
cos(x) Cos değerini alır.
np.cos(myArray1)
Çıktı:
array([-0.9899925 , -0.65364362, 0.28366219, 0.96017029, 0.75390225])
- greater(x1,x2) x1 değerleri ile x2 değerlerini karşılaştırır ve x1 değerleri büyükse True küçükse False döner
np.greater(myArray1,myArray2)
Çıktı:
array([False, False, False, False, False])
-
greater_equal(x1,x2) x1 değerleri ile x2 değerlerini karşılaştırır ve x1 değerleri büyük veya eşitse True küçükse False döner
np.greater_equal(myArray1,myArray2)
Çıktı:
array([False, False, False, False, False])
- less(x1,x2) x1 değerleri ile x2 değerlerini karşılaştırır ve x1 değerleri küçükse True büyükse False döner.
np.less(myArray1,myArray2)
Çıktı:
array([ True, True, True, True, True])
-
less_equal(x1,x2) x1 değerleri ile x2 değerlerini karşılaştırır ve x1 değerleri küçük veya eşitse True büyükse False döner
np.less_equal(myArray1,myArray2)
Çıktı:
array([ True, True, True, True, True])
- not_equal(x1,x2) x1 değeri x2 değerine eşit değilse True eşitse False döner.
np.not_equal(myArray1,myArray2)
Çıktı:
array([ True, True, True, True, True])
-
equal(x1,x2) x1 değeri x2 değerine eşitse True değilse False döner.
np.equal(myArray1,3)
Çıktı:
array([False, True, True, True, True])