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

all,any,nonzero,where

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

cov,mean,std,var

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

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir