- 126 Okunma
- 0 Yorum
- 0 Beğeni
NumPy Operatörler, Matematiksel ve İstatistiksel Fonksiyonlar
NumPy, Python programlama dilinde bilimsel hesaplamalar için kullanılan bir kütüphanedir. NumPy dizileri, çok boyutlu veri yapılarıdır ve üzerlerinde çeşitli operatörler, matematiksel ve istatistiksel fonksiyonlar uygulanabilir. Bu sayede, dizilerdeki elemanlar arasında aritmetik ve mantıksal işlemler yapılabilir.
Aritmetik operatörler, dizilerdeki elemanlara toplama, çıkarma, çarpma, bölme, üs alma gibi işlemler uygulamak için kullanılır. Örneğin, iki NumPy dizisi a ve b olsun. Bu dizilerin elemanları arasında aritmetik işlemler yapmak için şu operatörleri kullanabiliriz:
- a + b: dizilerin elemanları arasında toplama işlemi yapar.
- a - b: dizilerin elemanları arasında çıkarma işlemi yapar.
- a * b: dizilerin elemanları arasında çarpma işlemi yapar.
- a / b: dizilerin elemanları arasında bölme işlemi yapar.
- a ** b: dizilerin elemanları arasında üs alma işlemi yapar.
Mantıksal operatörler, dizilerdeki elemanlara karşılaştırma veya koşul işlemleri uygulamak için kullanılır. Örneğin, iki NumPy dizisi a ve b olsun. Bu dizilerin elemanları arasında mantıksal işlemler yapmak için şu operatörleri kullanabiliriz:
- a == b: dizilerin elemanlarının eşit olup olmadığını kontrol eder.
- a != b: dizilerin elemanlarının eşit olmadığını kontrol eder.
- a < b: dizilerin elemanlarının küçük olup olmadığını kontrol eder.
- a > b: dizilerin elemanlarının büyük olup olmadığını kontrol eder.
- a <= b: dizilerin elemanlarının küçük veya eşit olup olmadığını kontrol eder.
- a >= b: dizilerin elemanlarının büyük veya eşit olup olmadığını kontrol eder.
Matematiksel ve istatistiksel fonksiyonlar, dizilerdeki elemanlara veya dizilere bütün olarak bazı matematiksel veya istatistiksel işlemler uygulamak için kullanılır. Örneğin, bir NumPy dizisi a olsun. Bu dizide veya dizinin belirli bir ekseninde matematiksel veya istatistiksel işlemler yapmak için şu fonksiyonları kullanabiliriz:
- np.sum(a): dizinin tüm elemanlarının toplamını hesaplar.
- np.mean(a): dizinin tüm elemanlarının ortalamasını hesaplar.
- np.min(a): dizinin tüm elemanlarının en küçüğünü bulur.
- np.max(a): dizinin tüm elemanlarının en büyüğünü bulur.
- np.std(a): dizinin tüm elemanlarının standart sapmasını hesaplar.
- np.var(a): dizinin tüm elemanlarının varyansını hesaplar.
Bu fonksiyonların axis adlı bir parametresi vardır. Bu parametre, işlemin hangi eksen üzerinde yapılacağını belirler. Örneğin, axis=0 ise, işlem dizinin sütunları üzerinde yapılır. axis=1 ise, işlem dizinin satırları üzerinde yapılır. axis=None ise, işlem dizinin tüm elemanları üzerinde yapılır.
1. UYGULAMA
NumPy dizileri ile aritmetiksel ve mantıksal işlemler yapmak için şu adımları izleyebilirsiniz:
1. Adım: Bir NumPy dizisi tanımlayınız. Örneğin, y = np.arange(2, 12) y
2. Adım: Tanımladığınız dizide aritmetiksel işlemler yapınız. Örneğin, y+3
y-8
y/4
y*2
y**3
3. Adım: Tanımladığınız dizide mantıksal işlemler yapınız. Örneğin, y[y>5]
y[y<=9]
y[y==7].
NumPy, Python programlama dilinde bilimsel hesaplamalar yapmak için kullanılan bir kütüphanedir. NumPy, çok boyutlu diziler, matrisler ve bunlar üzerinde işlem yapabilen fonksiyonlar sunar. NumPy, matematiksel problemleri çözebilecek çok sayıda fonksiyon bulundurur. Bu matematiksel fonksiyonlar şunları içerir:
- Trigonometrik fonksiyonlar: Bu fonksiyonlar, üçgenlerin kenarları ve açıları arasındaki ilişkileri tanımlayan fonksiyonlardır. Örneğin, sinüs, kosinüs, tanjant, kotanjant, sekant, kosekant gibi fonksiyonlar trigonometrik fonksiyonlardır. NumPy, bu fonksiyonları np.sin(), np.cos(), np.tan(), np.cot(), np.sec(), np.csc() gibi fonksiyonlarla sağlar. Ayrıca, ters trigonometrik fonksiyonlar, hiperbolik trigonometrik fonksiyonlar ve bunların tersleri de NumPy’da mevcuttur. Bu fonksiyonlar, açıları radyan cinsinden alır ve verir. NumPy, radyan ile derece arasında dönüşüm yapmak için np.deg2rad() ve np.rad2deg() fonksiyonlarını da sunar.
- Aritmetik fonksiyonlar: Bu fonksiyonlar, temel matematiksel işlemleri gerçekleştiren fonksiyonlardır. Örneğin, toplama, çıkarma, çarpma, bölme, üs alma, karekök alma, mutlak değer alma gibi fonksiyonlar aritmetik fonksiyonlardır. NumPy, bu fonksiyonları np.add(), np.subtract(), np.multiply(), np.divide(), np.power(), np.sqrt(), np.abs() gibi fonksiyonlarla sağlar. Ayrıca, iki sayının en büyük ortak bölenini, en küçük ortak katını, kalanını, bölümünü, yuvarlanmış bölümünü hesaplamak için de NumPy’da fonksiyonlar vardır. Bu fonksiyonlar, np.gcd(), np.lcm(), np.mod(), np.divmod(), np.floor_divide() gibi fonksiyonlardır.
- Logaritmik fonksiyonlar: Bu fonksiyonlar, bir sayının başka bir sayının üssü olarak ifade edilmesini sağlayan fonksiyonlardır. Örneğin, 10’un üssü 2 ise 100’dür. Bu durumda, 100’ün 10 tabanındaki logaritması 2’dir. NumPy, logaritma hesaplamak için np.log() fonksiyonunu sunar. Bu fonksiyon, e tabanındaki doğal logaritmayı hesaplar. e, matematikte yaklaşık olarak 2.71828 olan bir sabittir. NumPy, 10 tabanındaki logaritmayı hesaplamak için np.log10() fonksiyonunu, 2 tabanındaki logaritmayı hesaplamak için np.log2() fonksiyonunu sağlar. Ayrıca, istenilen bir tabanda logaritma hesaplamak için np.logbase() fonksiyonunu da kullanabilirsiniz. NumPy, logaritmanın tersi olan üslü fonksiyonu da np.exp() fonksiyonuyla sağlar.
Bu matematiksel fonksiyonlar, NumPy kütüphanesinin sunduğu fonksiyonlardan sadece bir kısmıdır. NumPy, ayrıca istatistiksel fonksiyonlar, lineer cebir fonksiyonları, rastgele sayı üretme fonksiyonları, sinyal işleme fonksiyonları gibi daha birçok fonksiyon sunar. NumPy, matematiksel problemleri çözmek için güçlü ve esnek bir araçtır.
2. UYGULAMA
Aritmetik operatör kullanmak yerine matematiksel fonksiyonlar kullanarak işlemler yapmak için aşağıdaki işlem adımlarını takip edebilirsiniz.
1. Adım: İki adet NumPy dizisi oluşturunuz. Örneğin, a=np.array([5,10,15]) ve b=np.array([2,4,6]) dizilerini oluşturabilirsiniz.
2. Adım: NumPy add fonksiyonunu kullanarak toplama işlemlerini yapınız. Örneğin, np.add(a,3) ile a dizisinin her elemanına 3 ekleyebilirsiniz. np.add(a,b) ile a ve b dizilerinin aynı konumdaki elemanlarını toplayabilirsiniz.
3. Adım: NumPy subtract fonksiyonunu kullanarak çıkarma işlemlerini yapınız. Örneğin, np.subtract(a,3) ile a dizisinin her elemanından 3 çıkarabilirsiniz. np.subtract(a,b) ile a ve b dizilerinin aynı konumdaki elemanlarını birbirinden çıkarabilirsiniz.
4. Adım: NumPy multiply fonksiyonunu kullanarak çarpma işlemlerini yapınız. Örneğin, np.multiply(a,3) ile a dizisinin her elemanını 3 ile çarpabilirsiniz. np.multiply(a,b) ile a ve b dizilerinin aynı konumdaki elemanlarını birbiriyle çarpabilirsiniz.
5. Adım: NumPy power fonksiyonunu kullanarak üs alma işlemlerini yapınız. Örneğin, np.power(a,2) ile a dizisinin her elemanının karesini alabilirsiniz. np.power(a,b) ile a dizisinin her elemanını b dizisinin aynı konumdaki elemanının kuvveti olarak alabilirsiniz.
Bu adımları takip ederek, a ve b dizileri için aşağıdaki sonuçları elde edebilirsiniz.
| Fonksiyon | Sonuç |
| --- | --- |
| np.add(a,3) | [ 8 13 18] |
| np.add(a,b) | [ 7 14 21] |
| np.subtract(a,3) | [ 2 7 12] |
| np.subtract(a,b) | [ 3 6 9] |
| np.multiply(a,3) | [15 30 45] |
| np.multiply(a,b) | [10 40 90] |
| np.power(a,2) | [ 25 100 225] |
| np.power(a,b) | [ 25 1000 50625] |
3. UYGULAMA
NumPy trigonometrik fonksiyonları ile işlemler yapmak için aşağıdaki işlem adımlarını takip edebilirsiniz.
1. Adım: Değerleri verilen bir NumPy dizisi oluşturunuz.
c = np.array([10,20,40,80,100,140,160])
2. Adım: Oluşturulan dizinin sinüs değerlerini bulma işlemini yapınız.
np.sin(c*np.pi/180)
3. Adım: Oluşturulan dizinin kosinüs değerlerini bulma işlemini yapınız.
np.cos(c*np.pi/180)
4. Adım: Oluşturulan dizinin tanjant değerlerini bulma işlemini yapınız.
np.tan(c*np.pi/180)
Bu adımları uyguladığınızda, aşağıdaki sonuçları elde edersiniz.
| c | sin(c) | cos(c) | tan(c) |
|---| --------| --------| --------|
| 10 | 0.1736 | 0.9848 | 0.1763 |
| 20 | 0.3420 | 0.9397 | 0.3639 |
| 40 | 0.6428 | 0.7660 | 0.8391 |
| 80 | 0.9848 | 0.1736 | 5.6713 |
| 100 | 0.9848 | -0.1736 | -5.6713 |
| 140 | 0.7660 | -0.6428 | -1.1918 |
| 160 | 0.3420 | -0.9397 | -0.3639 |
Bu sonuçlar, NumPy dizisinin değerlerinin derece cinsinden olduğunu varsaymaktadır. Eğer radyan cinsinden olsaydı, np.pi/180 çarpanını kullanmazdınız.
NumPy dizileri, Python programlama dilinde çok boyutlu verileri depolamak ve işlemek için kullanılan bir kütüphanedir. NumPy dizileri içindeki verilerin analiz edilmesi için istatistiksel fonksiyonlar kullanılır. Bu fonksiyonlar, bir dizi içindeki verilerin dağılımı, merkezi eğilimi, değişkenliği ve ilişkisi gibi özellikleri ölçmek için yararlıdır. Bu fonksiyonlardan bazıları şunlardır:
- En büyük ve en küçük değerleri bulma: NumPy dizilerindeki en büyük ve en küçük değerleri bulmak için np.max() ve np.min() fonksiyonları kullanılır. Bu fonksiyonlar, bir dizi veya bir dizi listesi verildiğinde, tüm veriler arasındaki en büyük veya en küçük değeri döndürür. Ayrıca, axis parametresi ile belirli bir boyuta göre en büyük veya en küçük değerleri bulmak da mümkündür. Örneğin, np.max(a, axis=0) fonksiyonu, a dizisinin sütunları boyunca en büyük değerleri döndürür.
- Standart sapma ve varyans: Standart sapma ve varyans, bir dizi içindeki verilerin ortalama değerinden ne kadar uzaklaştığını gösteren istatistiksel ölçülerdir. Standart sapma, verilerin ortalama değerinden olan uzaklıkların kareköküdür. Varyans ise, verilerin ortalama değerinden olan uzaklıkların karesinin ortalamasıdır. NumPy dizilerindeki standart sapma ve varyansı hesaplamak için np.std() ve np.var() fonksiyonları kullanılır. Bu fonksiyonlar, bir dizi veya bir dizi listesi verildiğinde, tüm verilerin standart sapmasını veya varyansını döndürür. Ayrıca, axis parametresi ile belirli bir boyuta göre standart sapma veya varyansı hesaplamak da mümkündür. Örneğin, np.std(a, axis=1) fonksiyonu, a dizisinin satırları boyunca standart sapmayı döndürür.
- Temel istatistiksel fonksiyonlar: NumPy dizilerindeki verilerin merkezi eğilimi ve dağılımını özetlemek için kullanılan diğer istatistiksel fonksiyonlar da vardır. Bunlardan bazıları şunlardır:
- np.mean(): Bir dizi veya bir dizi listesi verildiğinde, verilerin aritmetik ortalamasını döndürür. axis parametresi ile belirli bir boyuta göre ortalamayı hesaplamak da mümkündür.
-np.median(): Bir dizi veya bir dizi listesi verildiğinde, verilerin ortanca değerini döndürür. Ortanca değer, verilerin sıralandığında ortada kalan değerdir. axis parametresi ile belirli bir boyuta göre ortancayı hesaplamak da mümkündür.
- np.sum(): Bir dizi veya bir dizi listesi verildiğinde, verilerin toplamını döndürür. axis parametresi ile belirli bir boyuta göre toplamı hesaplamak da mümkündür.
- np.cumsum(): Bir dizi veya bir dizi listesi verildiğinde, verilerin kümülatif toplamını döndürür. Kümülatif toplam, verilerin baştan sona doğru toplanarak elde edilen ara değerlerdir. axis parametresi ile belirli bir boyuta göre kümülatif toplamı hesaplamak da mümkündür.
- np.percentile(): Bir dizi veya bir dizi listesi verildiğinde, verilerin belirli bir yüzdelik dilimindeki değerini döndürür. Yüzdelik dilim, verilerin sıralandığında belirli bir yüzdeye karşılık gelen değerdir. Örneğin, np.percentile(a, 50) fonksiyonu, a dizisinin ortanca değerini döndürür. axis parametresi ile belirli bir boyuta göre yüzdelik dilimi hesaplamak da mümkündür.
-np.corrcoef(): İki veya daha fazla dizi verildiğinde, diziler arasındaki korelasyon katsayılarını döndürür. Korelasyon katsayısı, iki değişken arasındaki ilişkinin yönünü ve gücünü ölçen bir istatistiksel değerdir. Korelasyon katsayısı -1 ile 1 arasında bir değer alır. -1, tam ters yönlü bir ilişkiyi; 0, hiçbir ilişkiyi; 1, tam aynı yönlü bir ilişkiyi gösterir. np.corrcoef(a, b) fonksiyonu, a ve b dizileri arasındaki korelasyon katsayısını döndürür.
NumPy dizileri içindeki verilerin analiz edilmesi için istatistiksel fonksiyonlar kullanmak, verilerin özelliklerini anlamak ve veri bilimi, makine öğrenimi, yapay zeka gibi alanlarda veriler üzerinde işlem yapmak için önemlidir. NumPy kütüphanesi, bu fonksiyonları hızlı ve kolay bir şekilde kullanmamızı sağlar.
4. UYGULAMA
Aşağıdaki işlem adımlarını takip ederek NumPy istatistiksel fonksiyonlarının kullanım işlemini yapabilirsiniz.
1. Adım: 0 ile 100 arasında rastgele sayılardan oluşan 10x3 bir NumPy dizisi oluşturunuz.
x=np.random.randint(0,101,([10,3]))
Örnek bir dizi şöyle olabilir:
x = [[ 5 9 7]
[ 8 6 4]
[ 2 1 3]
[ 9 8 7]
[ 6 5 4]
[ 7 6 5]
[ 4 3 2]
[ 3 2 1]
[ 8 7 6]
[ 9 8 7]]
2. Adım: Oluşturulan dizinin elemanları içinde en büyük ve en küçük değerleri bulmak için max ve min fonksiyonlarını kullanınız.
x.max()
x.min()
Örnek bir çıktı şöyle olabilir:
x.max() = 9
x.min() = 1
3. Adım: Oluşturulan dizinin tamamının veya belirtilen eksenlerinin toplamını bulmak için sum fonksiyonunu kullanınız.
x.sum()
x.sum(axis=0)
x.sum(axis=1)
Örnek bir çıktı şöyle olabilir:
x.sum() = 168
x.sum(axis=0) = [61 49 46]
x.sum(axis=1) = [21 18 6 24 15 18 9 6 21 24]
4. Adım: Oluşturulan dizinin elemanları içinde belirli eksende en büyük ve en küçük değerleri bulmak için max ve min fonksiyonlarını kullanınız.
x.max(axis=0)
x.max(axis=1)
x.min(axis=0)
x.min(axis=1)
Örnek bir çıktı şöyle olabilir:
x.max(axis=0) = [9 9 7]
x.max(axis=1) = [9 8 3 9 6 7 4 3 8 9]
x.min(axis=0) = [2 1 1]
x.min(axis=1) = [5 4 1 7 4 5 2 1 6 7]
5. Adım: Oluşturulan dizinin tamamının ve belirtilen eksenlerinin ortalamasını bulmak için mean fonksiyonunu kullanınız.
x.mean()
x.mean(axis=0)
x.mean(axis=1)
Örnek bir çıktı şöyle olabilir:
x.mean() = 5.6
x.mean(axis=0) = [6.1 4.9 4.6]
x.mean(axis=1) = [7. 6. 2. 8. 5. 6. 3. 2. 7. 8.]
6. Adım: Oluşturulan dizinin ortalamaya göre ne kadar değişkenlik göstereceğini gösteren varyansını bulmak için var fonksiyonunu kullanınız.
x.var()
x.var(axis=0)
x.var(axis=1)
Örnek bir çıktı şöyle olabilir:
x.var() = 5.04
x.var(axis=0) = [4.49 6.89 4.44]
x.var(axis=1) = [2.67 2.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67 0.67]
7. Adım: Oluşturulan dizinin ortalamaya göre ne kadar saptığını gösteren standart sapmasını bulmak için std fonksiyonunu kullanınız.
x.std()
x.std(axis=0)
x.std(axis=1)
Örnek bir çıktı şöyle olabilir:
x.std() = 2.245
x.std(axis=0) = [2.118 2.626 2.108]
x.std(axis=1) = [1.633 1.633 0.816 0.816 0.816 0.816 0.816 0.816 0.816 0.816]
YORUMLAR
Henüz yorum yapılmamış.