Python Matrix nedir?
Bir Python matrisi, satırlarda ve sütunlarda depolanan özel bir iki boyutlu dikdörtgen veri dizisidir. Bir matristeki veriler sayılar, dizeler, ifadeler, semboller vb. Olabilir. Matris, matematiksel ve bilimsel hesaplamalarda kullanılabilen önemli veri yapılarından biridir.
Bu Python eğitiminde şunları öğreneceksiniz:
- Python Matrix nedir?
- Python Matrisleri nasıl çalışır?
- İç içe geçmiş bir liste veri türü kullanarak Python Matrix oluşturun
- Bir liste kullanarak Python Matrix içindeki verileri okumak için.
- Örnek 2: Her satırdan son öğeyi okumak için.
- Örnek 3: Matristeki satırları yazdırmak için
- Yuvalanmış Listeyi Kullanarak Matris Ekleme
- Yuvalanmış Liste Kullanarak Matrislerin Çarpımı
- Python Numpy paketindeki Dizileri kullanarak Python Matrix oluşturun
- Numpy.Array () kullanarak Matris İşlemi
- NumPy Matrix'e Erişim
Python Matrisleri nasıl çalışır?
Matris formatındaki iki boyutlu dizinin içindeki veriler aşağıdaki gibi görünür:Aşama 1)
2x2 matrisi gösterir. İki sıralı ve 2 sütunludur. Matrisin içindeki veriler sayılardır. Satır1 2,3 değerlerine ve satır2 4,5 değerlerine sahiptir. Sütunlar, yani col1, 2,4 değerlerine ve col2, 3,5 değerlerine sahiptir.
Adım 2)
2x3 matrisi gösterir. İki sıralı ve üç sütunludur. İlk satırdaki veriler, yani satır1 2,3,4 değerlerine ve satır2 5,6,7 değerlerine sahiptir. Col1 sütunlarının 2,5 değerleri, col2 sütunlarının 3,6 ve col3 sütunlarının 4,7 değerleri vardır.
Benzer şekilde, verilerinizi Python'da nxn matrisi içinde depolayabilirsiniz. Matris benzeri toplama, çıkarma, çarpma vb. Üzerinde birçok işlem yapılabilir.
Python, bir matris veri türünü uygulamak için basit bir yola sahip değildir.
Python matrisi dizilerden yararlanır ve aynısı uygulanabilir.
- İç içe liste veri türünü kullanarak bir Python Matrix oluşturun
- Python Numpy paketindeki Dizileri kullanarak Python Matrix oluşturun
İç içe geçmiş bir liste veri türü kullanarak Python Matrix oluşturun
Python'da diziler liste veri türü kullanılarak temsil edilir. Şimdi bir python matrisi oluşturmak için listeden yararlanacağız.
Aşağıda gösterildiği gibi bir 3x3 matris oluşturacağız:
- Matrisin 3 satırı ve 3 sütunu vardır.
- Liste biçimindeki ilk satır şu şekilde olacaktır: [8,14, -6]
- Listedeki ikinci satır şu şekilde olacaktır: [12,7,4]
- Listedeki üçüncü satır şu şekilde olacaktır: [-11,3,21]
Tüm satırları ve sütunları içeren bir listenin içindeki matris aşağıda gösterildiği gibidir:
List = [[Row1],[Row2],[Row3]… [RowN]]
Dolayısıyla, yukarıda listelenen matrise göre, matris verili liste türü aşağıdaki gibidir:
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Bir liste kullanarak Python Matrix içindeki verileri okumak için.
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 matrixprint(M1)
Çıktı:
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
Örnek 2: Her satırdan son öğeyi 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ı:
-6421
Örnek 3: Matristeki 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 Matrixfor i in range(matrix_length):print(M1[i])
Çıktı:
[8, 14, -6][12, 7, 4][-11, 3, 21]
Yuvalanmış Listeyi Kullanarak Matris Ekleme
Verilen iki matrisi kolayca toplayabiliriz. Buradaki matrisler liste biçiminde 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]]
Sonuncusu, M1 + M2'nin sonucunu depolayacak bir matris başlatacaktır.
Matris 3:
M3 = [[0,0,0],[0,0,0],[0,0,0]]
Örnek: Matris Ekleme
Eklemek için, matrisler verilen her iki matris arasında döngü oluşturacak bir döngüden 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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] + M2[i][k]#To Print the matrixprint("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]]
Yuvalanmış Liste Kullanarak Matrislerin Çarpımı
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 matricesfor i in range(len(M1)):for k in range(len(M2)):M3[i][k] = M1[i][k] * M2[i][k]#To Print the matrixprint("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]]
Python Numpy paketindeki Dizileri kullanarak Python Matrix oluşturun
Python kütüphanesi Numpy, dizilerle başa çıkmaya yardımcı olur. Numpy, listeye kıyasla bir diziyi biraz daha hızlı işler.
Numpy ile çalışmak için önce onu kurmanız gerekir. Numpy'yi kurmak için aşağıda verilen adımları izleyin.
Aşama 1)
Numpy'yi kurma komutu:
pip install NumPy
Adım 2)
Kodunuzda Numpy'yi kullanmak için, onu içe aktarmanız gerekir.
import NumPy
Aşama 3)
Ayrıca aşağıda gösterildiği gibi bir takma ad kullanarak Numpy'yi içe aktarabilirsiniz:
import NumPy as np
Bir python matrisi oluşturmak için Numpy'den array () yöntemini kullanacağız.
Örnek: Python Matrix oluşturmak için Numpy'de Array
import numpy as npM1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])print(M1)
Çıktı:
[[ 5 -10 15][ 3 -6 9][ -4 8 12]]
Numpy.Array () kullanarak Matris İşlemi
Yapılabilecek matris işlemi toplama, çıkarma, çarpma, devrik, bir matrisin satırlarını, sütunlarını okumak, matrisi dilimlemek, vs.'dir. Tüm örneklerde, bir array () yöntemini kullanacağız.
Matris Toplama
Matris üzerinde toplama yapmak için, numpy.array () kullanarak iki matris oluşturacağız ve bunları (+) operatörünü kullanarak ekleyeceğiz.
Misal:
import numpy as npM1 = 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 + M2print(M3)
Çıktı:
[[ 12 -12 36][ 16 12 48][ 6 -12 60]]
Matris Çıkarma
Matriste çıkarma yapmak için, numpy.array () kullanarak iki matris oluşturacağız ve (-) operatörünü kullanarak bunları çıkaracağız.
Misal:
import numpy as npM1 = 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 - M2print(M3)
Çıktı:
[[ -6 24 -18][ -6 -32 -18][-20 40 -18]]
Matris Çarpımı
Önce numpy.arary () kullanarak iki matris oluşturacağız. İrade çoğaltmak için numpy dot () yöntemini kullanabilirsiniz. Numpy.dot (), matris M1 ve M2'nin iç çarpımıdır. Numpy.dot (), 2B dizileri işler ve matris çarpımlarını gerçekleştirir.
Misal:
import numpy as npM1 = 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 Transpoze
Bir matrisin devri, satırları sütun ve sütunları satır olarak değiştirerek hesaplanır. Numpy'deki transpoze () işlevi, bir matrisin devrikini hesaplamak için kullanılabilir.
Misal:
import numpy as npM1 = 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ş indeksine göre size matristeki öğeleri döndürür.
- Dilimleme için sözdizimi - [start: end] şeklindedir
- Başlangıç dizini verilmemişse 0 olarak kabul edilir. Örneğin [: 5], [0: 5] anlamına gelir.
- Son geçilmezse, dizinin uzunluğu olarak alınacaktır.
- Başlangıç / bitiş negatif değerlere sahipse, dilimleme dizinin sonundan yapılacaktır.
Bir matris üzerinde dilimlemeye başlamadan önce, basit bir diziye dilimi nasıl uygulayacağımızı anlayalım.
import numpy as nparr = np.array([2,4,6,8,10,12,14,16])print(arr[3:6]) # will print the elements from 3 to 5print(arr[:5]) # will print the elements from 0 to 4print(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 -2print(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 yapalım. Bir matriste dilimleme yapmak için
sözdizimi M1 olacaktır [row_start: row_end, col_start: col_end]
- İlk başlangıç / bitiş satır için, yani matrisin satırlarını seçmek için olacaktır.
- İkinci başlangıç / bitiş, sütun için, yani matrisin sütunlarını seçmek için olacaktır.
Kullanacağımız M1 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 vardır. 0 ila 3 0 Dizin başlar inci satır [2,4,6,8,10], 1 st [, 3,6,9, -12 -15] satır 2 ve ardından nd ve 3 rd .
M1 matrisinin 5 sütunu vardır. 4.The 0, 0 ila göstergesi başlar inci kolon [2,3,4,5], 1 değerlere sahip st değerleri [4,6,8, -10] 2 ve ardından sütun var nd , 3 üncü , 4 th , ve 5 inci .
Satır ve sütun verilerinin dilimleme kullanılarak matristen nasıl alınacağını gösteren bir örnek aşağıda verilmiştir. Örneğimizde, 1 yazdırıyorsanız st ve 2 nd satır ve sütunlar için, öncelikle, ikinci ve üçüncü sütun istiyorum. Bu çıktıyı elde etmek için kullandık: M1 [1: 3, 1: 4]
Misal:
import numpy as npM1 = 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 npM1 = 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 npM1 = 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 npM1 = 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 göz önünde bulundurarak, matristen satırları ve sütunları nasıl alacağız.
Matrisin satırlarını yazdırmak için
Örnekte matrisin satırları yazdırılacaktır.
Misal:
import numpy as npM1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])print(M1[0]) #first rowprint(M1[1]) # the second rowprint(M1[-1]) # -1 will print the last row
Çıktı:
[3 6 9][ 5 -10 15][ 4 8 12]
Son satırı almak için indeks veya -1 kullanabilirsiniz. Örneğin, matrisin 3 satırı vardır,
M1 [0] size ilk satırı verecektir,
M1 [1] size ikinci sırayı verecek
M1 [2] veya M1 [-1] size üçüncü satırı veya son satırı verecektir.
Matrisin sütunlarını yazdırmak için
import numpy as npM1 = 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 Columnprint(M1[:,3]) # Will print the third Columnprint(M1[:,-1]) # -1 will give you the last column
Çıktı:
[2 3 4 5][ 8 -12 16 -20][ 10 -15 -20 25]
Özet:
- Bir Python matrisi, satırlarda ve sütunlarda depolanan özel bir iki boyutlu dikdörtgen veri 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ü uygulamak için basit bir yola sahip değildir. Python matrisi, iç içe geçmiş bir veri türü kullanılarak ve numpy kitaplığı kullanılarak oluşturulabilir.
- Python kütüphanesi Numpy, dizilerle başa çıkmaya yardımcı olur. Numpy, listeye kıyasla bir diziyi biraz daha hızlı işler.
- Yapılabilecek matris işlemi toplama, çıkarma, çarpma, devrik, satırları okuma, bir matrisin sütunlarını okuma, matrisi dilimleme vb.
- İki matris eklemek için numpy.array () kullanabilir ve (+) operatörünü kullanarak bunları ekleyebilirsiniz.
- İrade çoğaltmak için numpy dot () yöntemini kullanabilirsiniz. Numpy.dot (), matris M1 ve M2'nin iç çarpımıdır. Numpy.dot (), 2B dizileri işler ve matris çarpımlarını gerçekleştirir.
- Bir matrisin devri, satırları sütun ve sütunları satır olarak değiştirerek hesaplanır. Numpy'deki transpoze () işlevi, bir matrisin devrikini hesaplamak için kullanılabilir.
- Bir matrisin dilimlenmesi, size verilen başlangıç / bitiş indeksine göre öğeleri döndürür.