Python – Numpy Kütüphanesi Nedir ? Numpy Örnekler
Merhabalar,
Bu yazımda python ‘ın çok boyutlu dizileri işlemek için kullanılan, veri biliminde çok geniş bir kullanıma sahip olan, Jim Hugunin tarafından geliştirilen Numeric ve Numaray kütüphanelerin özellikleri kullanılarak 2005 yılında Travis Oliphant tarafından geliştirlen Numpy kütüphanesine bakacağız.
Kurulum vs anlatmayacağım, direk olarak numpy kütüphanesine anaconda üzerinden erişebilirsiniz.
Numpy ‘ın desteklediği veri tipleri için : //numpy.org/devdocs/user/basics.types.html
Gelin örnekelre bakalım..
Öncelikle Python ‘da numpy kütüphanesini import etmemiz gerekiyor.
import numpy as np
Numpy kütüphanesinde bir array oluşturmak için array komutunu kullanırız. Aşağıda örnek olarak numpy ile matris oluşturmayı gösterdim.
#np.array() #1 boyutlu matris birBoyut = np.array([1,2,3]) #2 boyutlu matris ikiBoyut = np.array([1,2,3],[4,5,6]) #0 'lardan oluşan 3,2 'lik bir matris sifirMatris = np.zeros((3,2)) #1 'lardan oluşan 3,2 'lik bir matris birMatris = np.zeros((3,2)) # Sabit bir değerden oluşan matris sabitMatris = np.full((3,2), X) #X = Sabit değer, misal 2 yaz #random sayılardan oluşan matris için randomMatris = np.random.rand(2,3) #belirli aralıktaki sayılardan oluşan matris print(np.arange(0,10,3)) print(np.arange(10)) --> Çıktı : [0 3 6 9] [0 1 2 3 4 5 6 7 8 9] #birim matris birimMatris = np.eye(3) [[1 0 0] [ 0 1 0] [ 0 0 1]] # başlangıç ve bitiş değeri arasındaki sayı değeri verilerek matris oluşturma (0,1 arasında 5 tane sayı için misal) aralikliMatris.linspace(0,1,5)
Matrislerimizi oluşturduk. Çağırmak için print komutuyla çıktıları görebilirsiniz.
Şimdi bir matris ‘te neler yapabiliriz. Hadi gelin onlara da bir göz atalım.
#yukarıdaki örneklerin devamı olarak düşünebilirsiniz.
#type ile bir matrisin veri türünü göreceğiz.
print(type(randomMatris)) # çıktı --> <class 'numpy.ndarray'>
# shape ile matrisin boyutunu öğrenebiliriz.
randomMatris.shape # çıktı --> (2,3)
# bir matrisin kaç boyutlu olduğunu öğrenmek istiyorsak.
randomMatris.ndim # çıktı --> 2
# bir matrisin veri tipini öğrenmek için
randomMatris.dtype.name # çıktı --> int32
#Dizinin herhangi bir satırını seçmek
#1.satır
first_row = numpy_array[0]
#1. ve 2. satır
first_and_second_rows = numpy_array[0:2]
print(first_row)
print(first_and_second_rows)
#Dizinin herhangi bir kolonunu seçmek
#1. sütun
first_column = numpy_array[:,0]
#1. ve 2. sütun
first_and_second_column = numpy_array[:,0:2]
print(first_column)
print(first_and_second_column)
#Dizinin herhangi bir elemanını seçmek
selecting_item = numpy_array[3,1]
print(selecting_item)Bir matris ‘te shape işlemlerinin nasıl yapıldığına bakalım şimdi..
#reshape ile matrisin satır ve sütun bilgisini değiştiririz.
randomMatris.reshape(6,1)
#dizinin belirli bir sütun ve satır bilgisini getirmek
numpy_array = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
numpy_array = numpy_array.reshape(5,2)
print(numpy_array)
#Satır bazlı birleştirme
print(np.concatenate([numpy_array, numpy_array], axis =0))
#Sütun bazlı birleştirme
print(np.concatenate([numpy_array, numpy_array], axis =1))
#Bir matriste transpoze almak için
randomMatris.TŞimdi bir matris ‘te Matematiksel işlemler yapalım.
numpy_array = np.arange(0,10,1)
numpy_array = numpy_array.reshape(5,2)
#Max Bulma
print(numpy_array.max()) # çıktı --> 9
#Min bulma
print(numpy_array.min()) # çıktı --> 0
#Toplam bulma
print(numpy_array.sum()) # çıktı --> 45
#Satırların toplamı
print(numpy_array.sum(axis = 1))
#Sütunların toplamı
print(numpy_array.sum(axis = 0))
print(numpy_array + numpy_array)
print(numpy_array - numpy_array)
print(numpy_array * numpy_array)
print(numpy_array / numpy_array)
#karekök alma
np.sqrt(numpy_array
#exp olma
np.exp(numpy_array)
#sinüs alma
np.sin(numpy_array)
#cosinüs alma
np.cos(numpy_array) 04.03. Fonksiyon ve metotlar
Numpy bize birçok fonksiyon ve metot sunar. Şu ana kadar bazılarını gördük. Bu bölümde kategorik olarak bu fonksiyon ve metotların isimlerine ayırdık. Daha fazla bilgiyi tıklayarak elde edebilirsiniz.
Array Yaratma arange,array,copy,empty,empty_like,eye,fromfile,fromfunction,identity,linspace,logspace,mgrid,ogrid,ones,ones_like,r,zeros,zeros_like
Dönüşümler
ndarray.astype,atleast_1d,atleast_2d,atleast_3d,mat
İşlemler
array_split,column_stack,concatenate,diagonal,dsplit,dstack,hsplit,hstack,ndarray.item,newaxis,ravel,repeat,reshape,resize,squeeze,swapaxes,take,transpose,vsplit,vstack
Sorular
Sıralama
argmax,argmin,argsort,max,min,ptp,searchsorted,sort
Operasyonlar
choose,compress,cumprod,cumsum,inner,ndarray.fill,imag,prod,put,putmask,real,sum
Temel istatistik
Temel lineer cebir
cross,dot,outer,linalg.svd,vdot
Yazımı okuduğunuz için teşekkür ederim..
Kaynakça : //numpy.org/devdocs/user/whatisnumpy.html











