Nedir Bu NumPy?

Hatice Özbolat
4 min readApr 6, 2023
https://tr.wikipedia.org/wiki/NumPy

Python’nın en çok kullanılan kütüphnelerinden biri olan NumPy denildiği zaman akla hemen veri bilimi gelmektedir. Peki NumPy ilk ortaya çıktığında da veri bilimi için mi çıkmıştı yoksa başka bir amaçla mı ortaya çıktı ?

Bir doktora çalışması sırasında ortaya çıkan NumPy kütüphanesi özellikle bilimsel hesaplama işlemlerinde kullanılan bir dizi matematiksel işlemleri gerçekleştirmek için tasarlanmıştır. Bu doktora öğrencisi daha sonrasında SciPy ve Anaconda gibi popüler açık kaynaklı yazılımların geliştirilmesinde de rol oynamıştır. kim olduğunu tahmin edebildiniz mi? Eğer cevabınız Travis Oliphant ise tebrikler ederim. Konumuz NumPy olunca onu tasarlayan kişiden bahsettmeden olmazdı. Genel kültürün kimseye zararı olmaz değil mi? Son bir genel kültüre bilgisine ne dersiniz? NumPy kelimesi Numerical Python ifadesinin kısatltılmış halidir.

Teknik kısımlara geçmeden önce NumPy kütüphanesinin neden bu kadar önemli olduğunu anlamamızı sağlayacak iki konu başlığı var: “Neden bu kadar popüler?” ve “Hangi alanlarda kullanılmaktadır?”

Neden bu kadar popüler?

  1. Daha fazla hız: NumPy, saniyeler yerine nanosaniyelerde tamamlanan, C ile yazılmış algoritmalar kullanır.
  2. Daha az loop: NumPy, döngüleri azaltmanıza ve yineleme endekslerinde karışıklığı önlemenize yardımcı olur.
  3. Daha net kod (Clean Code): Döngüler olmadan kodunuz hesaplamaya çalıştığınız denklemlere daha çok benzeyecektir.
  4. Daha iyi kalite: NumPy’yi hızlı, kolay ve hatasız tutmak için çalışan binlerce katılımcı var.

Hangi alanlarda kullanılmaktadır?

  1. Veri Bilimi (Data Science): NumPy, veri işleme, temizleme ve ön işleme için temel bir araçtır ve veri bilimi iş akışlarında onu temel bir unsur haline getirir.
  2. Makine Öğrenimi(Machine Learning): NumPy dizileri ve işlevleri, makine öğrenimi ardışık düzenlerinde özellik mühendisliği, model eğitimi ve değerlendirme için yaygın olarak kullanılır.
  3. Görüntü İşleme(Image Processing): NumPy’nin çok boyutlu dizi desteği, görüntü verilerinin verimli şekilde işlenmesini ve dönüştürülmesini sağlar.
  4. Bilimsel Hesaplama(Scientific Computing): Fizik, kimya ve mühendislik gibi alanlardaki araştırmacılar ve bilim adamları, simülasyonlar, veri analizi ve sayısal problem çözme için NumPy’ye güveniyor.

Hadi o zaman NumPy kütüphanesinin teknik kısımlarına geçiş yapalım.

ilk olarak NumPy’yi yüklemek için terminalinizde veya komut isteminizde aşağıdaki komutu çalıştırmalıyız.

pip install numpy

Kurulduktan sonra, aşağıdaki gibi kütüphaneyi import etmemiz gerekir.

import numpy as np # "as np" ifadesi kod içerisinde okunurluğu artırmak adına kullanılır. 

NumPy Arrays Oluşturma

Klasik yöntemlerle Oluşturma

import numpy as np

my_list = [1, 2, 3, 4, 5] # Listeyi NumPy arrays donüştürür
array = np.array(my_list)
print(array) # [1 2 3 4 5]
import numpy as np
b = np.array([1,2,3,4,5]) # En basit haliyle NumPy arrays oluşturma

Built-in functions Kullanarak Oluşturma

NumPy içerisinde yer alan hazır fonksiyonları kullanırız

import numpy as np

zeros = np.zeros(5) # array([0., 0., 0., 0., 0.])
ones = np.ones(5) # array([1., 1., 1., 1., 1.])
range_array = np.arange(0, 10, 2) # array([0, 2, 4, 6, 8]) # en çok bunu kullanırız

NumPy Array Özellikleri

  1. ndim: boyut sayısı
  2. shape: boyut bilgisi
  3. size: toplam eleman sayısı
  4. dtype: array veri tipi
import numpy as np

a = np.random.randint(10, size=5)
a.ndim # 1
a.shape # (5,)
a.size # 5
a.dtype # int32

5. Yeniden Şekillendirme (Reshaping)

Bir dizinin şeklini (shape) değiştirmek anlamına gelir. Bir dizinin şekli, dizinin her boyutundaki elemanların sayısı anlamına gelmektedir.

import numpy as np

np.random.randint(1, 10, size=9)
np.random.randint(1, 10, size=9).reshape(3, 3)

ar = np.random.randint(1, 10, size=9)
ar.reshape(3, 3)

6. Index Seçimi ve Slicing İşlemi

NumPy dizilerindeki dizinler 0 ile başlar, yani ilk öğenin dizini 0'dır ve ikincisinin dizini 1'dir ve bu şekilde devam eder.

Köşeli parentezler- [] yardımı ile indexteki elaman çağırılır.

İndeks yerine dilimi şu şekilde geçiyoruz: [başlangıç:bitiş]. Adımı şu şekilde de tanımlayabiliriz: [başlangıç:bitiş:adım].

import numpy as np

arr = np.array([1, 2, 3, 4])

print(arr[1]) # birinci elamana ulaşmak için
a[0:5] # 0'dan 5'e kadar 5 dahil olmayacak şekilde elman sayısı
arr[0] = 999 # elamnı değiştime
print(arr[4:]) # 4'ten sonuna kadarki elamnalrı çağırır

Array İşlemleri ve İşlevleri

NumPy, array işlemleri için çok çeşitli matematiksel ve istatistiksel işlevler sağlar. Aşağıda bazı örnekler verilmiştir.

Aritmetik İşlemler

Bu işlemler, görüntü işleme, finansal hesaplamalar ve bilimsel simülasyonlar gibi çok çeşitli uygulamalar için kullanışlıdır.

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])

addition = a + b # array([5, 7, 9])
subtraction = a - b # array([-3, -3, -3])
multiplication = a * b # array([ 4, 10, 18])
division = a / b # array([0.25, 0.4, 0.5])

Matematiksel İşlemler

Bu işlevler, verilerin matematiksel dönüşümlerinin genellikle gerekli olduğu bilimsel ve mühendislik uygulamalarında yararlı olabilir.

import numpy as np

a = np.array([1, 2, 3])

square = np.square(a) # array([1, 4, 9])
sqrt = np.sqrt(a) # array([1., 1.41421356, 1.73205081])
exp = np.exp(a) # array([ 2.71828183, 7.3890561 , 20.08553692])

İstatistiksel Fonksiyonlar

import numpy as np

heights = np.array([160, 170, 180, 190, 200])
mean_height = np.mean(heights) # 180.0
std_dev_height = np.std(heights) # 14.14213562373095

Sonuç olarak, NumPy, veri bilimcileri ve istatistikçiler için önemli bir kütüphanedir. Veri kümelerini manipüle etmek ve analiz etmek için çok çeşitli işlevler sunmaktadır. Açıklayıcı istatistikler ve çıkarımsal istatistikler için en sık kullanılan NumPy işlevlerini anlamak, veri analistlerinin daha iyi kararlar almasına ve verilerinden anlamlı bilgiler elde etmelerine yardımcı olabilir.

Veri biliminde NumPy işlevlerini öğrenmek için en iyi referanslara bazı bağlantılar şunlardır:

  1. NumPy Documentation: https://numpy.org/doc/stable/
  2. NumPy Tutorial by W3Schools: https://www.w3schools.com/python/numpy_intro.asp
  3. NumPy Tutorial by Real Python: https://realpython.com/numpy-tutorial/

Yazmı buraya kadar okuduysan ve benzeri içerikler paylaşmamı istiyorsan beğenmeyi ve yorum bırakmayı unutmayın.

--

--