Python Matris: Transpoze, Çarpma, NumPy Dizi Örnekleri
Nedir? Python Matris?
A Python matris, satırlarda ve sütunlarda saklanan verilerin özel iki boyutlu dikdörtgen dizisidir. Bir matristeki veriler sayılar, dizeler, ifadeler, semboller vb. olabilir. Matris, matematiksel ve bilimsel hesaplamalarda kullanılabilen önemli veri yapılarından biridir.
Nasıl Python Matrisler işe yarıyor mu?
İki boyutlu dizinin matris formatındaki verileri aşağıdaki gibi görünür:
) 1 Adım 2×2’lik bir matris gösterir. İki satırı ve 2 sütunu vardır. Matrisin içindeki veriler sayılardır. Satır1'in değerleri 2,3'tür ve satır2'nin değerleri 4,5'tir. Sütunlar, yani col1, 2,4 değerlerine sahiptir ve col2, 3,5 değerlerine sahiptir.
) 2 Adım 2×3’lük bir matris gösterir. İki satırı ve üç sütunu vardır. İlk satırdaki veriler yani satır1'in değerleri 2,3,4, satır2'nin değerleri ise 5,6,7'dir. col1 sütunlarının değerleri 2,5, col2'nin değerleri 3,6 ve col3'ün değerleri 4,7'dir.
Benzer şekilde, verilerinizin nxn matrisinin içinde saklanmasını sağlayabilirsiniz. PythonMatris üzerinde toplama, çıkarma, çarpma vb. gibi pek çok işlem yapılabilir.
Python bir matris veri türünü uygulamanın basit bir yolu yoktur.
Python matrisi dizilerden yararlanır ve aynısı uygulanabilir.
- Hat için bir Python İç içe liste veri türünü kullanan matris
- oluşturmak Python Dizileri kullanan matris Python Numpy paketi
oluşturmak Python İç içe liste veri türünü kullanan matris
In Python, diziler liste veri türü kullanılarak temsil edilir. Bu yüzden şimdi bir python matrisi oluşturmak için listeyi kullanacağız.
Aşağıda gösterildiği gibi 3×3’lük bir matris oluşturacağız:
- Matrisin 3 satırı ve 3 sütunu vardır.
- Liste formatındaki ilk satır şu şekilde olacaktır: [8,14,-6]
- Listedeki ikinci satır şöyle olacaktır: [12,7,4]
- Listedeki üçüncü satır şöyle olacaktır: [-11,3,21]
Tüm satır ve sütunların bulunduğu listenin içindeki matris aşağıda gösterildiği gibidir:
List = [[Row1], [Row2], [Row3] ... [RowN]]
Yukarıda listelenen matrise göre matris verilerinin bulunduğu liste türü aşağıdaki gibidir:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
İçerideki verileri okumak için Python Bir liste kullanarak matris.
Yukarıda tanımlanan matrisi kullanacağız. Örnek verileri okuyacak, matrisi yazdıracak, her satırdaki son öğeyi görüntüleyecektir.
Örnek: Matrisi yazdırmak için
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print(M1)
Çıktı:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Örnek 2: Her satırın son elemanını okumak için
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] matrix_length = len(M1) #To read the last element from each row. for i in range(matrix_length): print(M1[i][-1])
Çıktı:
-6 4 21
Örnek 3: Matrix'teki satırları yazdırmak için
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] matrix_length = len(M1) #To print the rows in the Matrix for i in range(matrix_length): print(M1[i])
Çıktı:
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
İç İçe Listeyi Kullanarak Matris Ekleme
Verilen iki matrisi kolaylıkla toplayabiliriz. Buradaki matrisler liste formunda olacaktır. Verilen matrisleri toplamaya özen gösterecek bir örnek üzerinde çalışalım.
Matris 1:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Matris 2:
M2 = [[3, 16, -6], [9,7,-4], [-1,3,13]]
Last, M1 + M2'nin sonucunu saklayacak bir matrisi başlatacaktır.
Matris 3:
M3 = [[0,0,0], [0,0,0], [0,0,0]]
Örnek: Matrisleri Toplama
Eklemek gerekirse, matrisler, verilen her iki matris arasında döngü oluşturacak bir for döngüsünden yararlanacaktır.
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] M2 = [[3, 16, -6], [9,7,-4], [-1,3,13]] M3 = [[0,0,0], [0,0,0], [0,0,0]] matrix_length = len(M1) #To Add M1 and M2 matrices for i in range(len(M1)): for k in range(len(M2)): M3[i][k] = M1[i][k] + M2[i][k] #To Print the matrix print("The sum of Matrix M1 and M2 = ", M3)
Çıktı:
The sum of Matrix M1 and M2 = [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]
İç İçe Liste Kullanarak Matrislerin Çarpılması
Matrisleri çarpmak için aşağıdaki kodda gösterildiği gibi her iki matriste de for döngüsünü kullanabiliriz:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] M2 = [[3, 16, -6], [9,7,-4], [-1,3,13]] M3 = [[0,0,0], [0,0,0], [0,0,0]] matrix_length = len(M1) #To Multiply M1 and M2 matrices for i in range(len(M1)): for k in range(len(M2)): M3[i][k] = M1[i][k] * M2[i][k] #To Print the matrix print("The multiplication of Matrix M1 and M2 = ", M3)
Çıktı:
The multiplication of Matrix M1 and M2 = [[24, 224, 36], [108, 49, -16], [11, 9, 273]]
oluşturmak Python Dizileri kullanan matris Python Numpy paketi
Python kütüphanesi Numpy dizilerle baş etmeye yardımcı olur. Numpy bir diziyi listeye kıyasla biraz daha hızlı işler.
Numpy ile çalışmak için önce onu yüklemeniz gerekir. Numpy'yi kurmak için aşağıdaki adımları izleyin.
) 1 Adım Numpy'yi kurma komutu:
pip install NumPy
) 2 Adım Numpy'yi kodunuzda kullanmak için onu içe aktarmanız gerekir.
import NumPy
) 3 Adım Aşağıda gösterildiği gibi bir takma ad kullanarak da Numpy'yi içe aktarabilirsiniz:
import NumPy as np
Bir python matrisi oluşturmak için Numpy'nin array() yöntemini kullanacağız.
Örnek: Numpy'de oluşturulacak dizi Python Matris
import numpy as np M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]]) print(M1)
Çıktı:
[[ 5 -10 15] [ 3 -6 9] [ -4 8 12]]
Matris OperaNumpy.Array() kullanarak
Yapılabilecek matris işlemleri toplama, çıkarma, çarpma, devrikleştirme, bir matrisin satırlarını, sütunlarını okuma, matrisi dilimleme vb.'dir. Tüm örneklerde array() yöntemini kullanacağız.
Matris Toplama
Matris üzerinde toplama işlemi gerçekleştirmek için numpy.array() kullanarak iki matris oluşturacağız ve bunları (+) operatörünü kullanarak ekleyeceğiz.
Örnek:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 + M2 print(M3)
Çıktı:
[[ 12 -12 36] [ 16 12 48] [ 6 -12 60]]
Matris Çıkarma
Matriste çıkarma işlemi gerçekleştirmek için numpy.array() işlevini kullanarak iki matris oluşturacağız ve bunları (-) operatörünü kullanarak çıkaracağız.
Örnek:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]]) M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]]) M3 = M1 - M2 print(M3)
Çıktı:
[[ -6 24 -18] [ -6 -32 -18] [-20 40 -18]]
Matris Çarpımı
Öncelikle numpy.arary()'yi kullanarak iki matris oluşturacağız. Bunları çarpmak için numpy dot() yöntemini kullanabilirsiniz. Numpy.dot(), M1 ve M2 matrisinin nokta çarpımıdır. Numpy.dot(), 2B dizileri yönetir ve matris çarpımlarını gerçekleştirir.
Örnek:
import numpy as np M1 = np.array([[3, 6], [5, -10]]) M2 = np.array([[9, -18], [11, 22]]) M3 = M1.dot(M2) print(M3)
Çıktı:
[[ 93 78] [ -65 -310]]
matris devrik
Bir matrisin devrikliği, satırların sütunlara ve sütunların satırlara dönüştürülmesiyle hesaplanır. Numpy'nin transpose() fonksiyonu bir matrisin transpozunu hesaplamak için kullanılabilir.
Örnek:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) M2 = M1.transpose() print(M2)
Çıktı:
[[ 3 5 4] [ 6 -10 8] [ 9 15 12]]
Bir Matrisin Dilimlenmesi
Dilimleme, verilen başlangıç/bitiş dizinine göre matristeki öğeleri size döndürecektir.
- Dilimleme sözdizimi şöyledir: – [başlangıç:bitiş]
- Başlangıç indeksi verilmemişse 0 olarak kabul edilir. Örneğin [:5], [0:5] anlamına gelir.
- Sonu geçilmezse dizinin uzunluğu olarak alınacaktır.
- Başlangıç/bitiş negatif değerlere sahipse dilimleme dizinin sonundan itibaren yapılacaktır.
Bir matris üzerinde dilimleme üzerinde çalışmaya başlamadan önce, dilimin basit bir diziye nasıl uygulanacağını anlayalım.
import numpy as np arr = np.array([2,4,6,8,10,12,14,16]) print(arr[3:6]) # will print the elements from 3 to 5 print(arr[:5]) # will print the elements from 0 to 4 print(arr[2:]) # will print the elements from 2 to length of the array. print(arr[-5:-1]) # will print from the end i.e. -5 to -2 print(arr[:-1]) # will print from end i.e. 0 to -2
Çıktı:
[ 8 10 12] [ 2 4 6 8 10] [ 6 8 10 12 14 16] [ 8 10 12 14] [ 2 4 6 8 10 12 14]
Şimdi matris üzerinde dilimleme işlemini gerçekleştirelim. Bir matris üzerinde dilimleme gerçekleştirmek için
sözdizimi M1[satır_başlangıcı:satır_end, sütun_başlangıç:sütun_end] olacaktır
- İlk başlangıç/bitiş satır için olacaktır, yani matrisin satırlarını seçmek için.
- İkinci başlangıç/bitiş sütun için olacaktır, yani matrisin sütunlarını seçmek için.
Kullanacağımız M1 t matrisi aşağıdaki gibidir:
M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]])
Toplam 4 sıra var. Endeks 0'dan 3'e kadar başlar. 0th satır [2,4,6,8,10], 1'dirst satır [3,6,9,-12,-15] ve ardından 2 gelirnd ve 3rd.
M1 matrisinin 5 sütunu vardır. Endeks 0'dan 4'e kadar başlar. 0th sütunda [2,3,4,5], 1 değerleri varst sütunlarda [4,6,8,-10] ve ardından 2 değerleri bulunurnd, 3rd, 4thve 5th.
İşte dilimlemeyi kullanarak matristen satır ve sütun verilerinin nasıl alınacağını gösteren bir örnek. Örnekte, 1'i yazdırıyoruzst ve 2nd satır ve sütunlar için birinci, ikinci ve üçüncü sütunu istiyoruz. Bu çıktıyı elde etmek için şunu kullandık: M1[1:3, 1:4]
Örnek:
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[1:3, 1:4]) # For 1:3, it will give first and second row. #The columns will be taken from first to third.
Çıktı:
[[ 6 9 -12] [ 8 12 16]]
Örnek: Tüm satırları ve üçüncü sütunları yazdırmak için
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:,3]) # This will print all rows and the third column data.
Çıktı:
[ 8 -12 16 -20]
Örnek: İlk satırı ve tüm sütunları yazdırmak için
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:1,]) # This will print first row and all columns
Çıktı:
[[ 2 4 6 8 10]]
Örnek: İlk üç satırı ve ilk 2 sütunu yazdırmak için
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:3,:2])
Çıktı:
[[2 4] [3 6] [4 8]]
NumPy Matrix'e Erişim
Dilimlemenin nasıl çalıştığını gördük. Bunu dikkate alarak matristeki satır ve sütunları nasıl elde edeceğimizi göreceğiz.
Matrisin satırlarını yazdırmak için
Örnekte matrisin satırları yazdırılacaktır.
Örnek:
import numpy as np M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]]) print(M1[0]) #first row print(M1[1]) # the second row print(M1[-1]) # -1 will print the last row
Çıktı:
[3 6 9] [ 5 -10 15] [ 4 8 12]
Son satırı almak için indeksi veya -1'i kullanabilirsiniz. Örneğin matrisin 3 satırı var,
yani M1[0] size ilk satırı verecek,
M1[1] size ikinci sırayı verecektir
M1[2] veya M1[-1] size üçüncü veya son satırı verecektir.
Matrisin sütunlarını yazdırmak için
import numpy as np M1 = np.array([[2, 4, 6, 8, 10], [3, 6, 9, -12, -15], [4, 8, 12, 16, -20], [5, -10, 15, -20, 25]]) print(M1[:,0]) # Will print the first Column print(M1[:,3]) # Will print the third Column print(M1[:,-1]) # -1 will give you the last column
Çıktı:
[2 3 4 5] [ 8 -12 16 -20] [ 10 -15 -20 25]
ÖZET
- A Python matris, satırlarda ve sütunlarda saklanan verilerin özel iki boyutlu dikdörtgen dizisidir. Bir matristeki veriler sayılar, dizeler, ifadeler, semboller vb. olabilir. Matris, matematiksel ve bilimsel hesaplamalarda kullanılabilen önemli veri yapılarından biridir.
- Python bir matris veri türünü uygulamanın basit bir yolu yoktur. Python matris, iç içe liste veri türü ve numpy kitaplığı kullanılarak oluşturulabilir.
- Python kütüphanesi Numpy dizilerle baş etmeye yardımcı olur. Numpy bir diziyi listeye kıyasla biraz daha hızlı işler.
- Yapılabilecek matris işlemleri toplama, çıkarma, çarpma, devrikleştirme, bir matrisin satırlarını, sütunlarını okuma, matrisi dilimleme vb.'dir.
- İki matris eklemek için numpy.array() işlevini kullanabilir ve bunları (+) operatörünü kullanarak ekleyebilirsiniz.
- Bunları çarpmak için numpy dot() yöntemini kullanabilirsiniz. Numpy.dot(), M1 ve M2 matrisinin nokta çarpımıdır. Numpy.dot(), 2B dizileri yönetir ve matris çarpımlarını gerçekleştirir.
- Bir matrisin devriği, satırların sütun, sütunların da satır olarak değiştirilmesiyle hesaplanır. Numpy'nin transpose() fonksiyonu bir matrisin transpozunu hesaplamak için kullanılabilir.
- Bir matrisin dilimlenmesi size verilen başlangıç/bitiş indeksine göre elemanları döndürecektir.