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:

Python Matris

) 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:

oluşturmak Python İç İçe Liste Kullanan Matris

  • 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.