Python - Matriks
Matriks adalah kasus khusus dari larik dua dimensi di mana setiap elemen data memiliki ukuran yang sama. Jadi setiap matriks juga merupakan larik dua dimensi tetapi tidak sebaliknya. Matriks adalah struktur data yang sangat penting untuk banyak perhitungan matematika dan ilmiah. Karena kita telah membahas dua struktur data array dimensi pada bab sebelumnya, kita akan berfokus pada operasi struktur data khusus untuk matriks dalam bab ini.
Kami juga menggunakan paket numpy untuk manipulasi data matriks.
Contoh Matriks
Pertimbangkan kasus pencatatan temprature selama 1 minggu yang diukur pada pagi, siang hari, sore dan tengah malam. Ini dapat disajikan sebagai matriks 7X5 menggunakan array dan metode pembentukan kembali tersedia dalam numpy.
from numpy import *
a = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
m = reshape(a,(7,5))
print(m)
Data di atas dapat direpresentasikan sebagai array dua dimensi seperti di bawah ini.
[['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']]
Mengakses Nilai dalam Matriks
Elemen data dalam matriks dapat diakses dengan menggunakan indeks. Metode aksesnya sama dengan cara mengakses data dalam array dua dimensi.
from numpy import *
m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
# Print data for Wednesday
print(m[2])
# Print data for friday evening
print(m[4][3])
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
['Wed', 15, 21, 20, 19]
23
Menambahkan baris
from numpy import *
m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
m_r = append(m,[['Avg',12,15,13,11]],0)
print(m_r)
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
[['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']
['Avg' '12' '15' '13' '11']]
Menambahkan kolom
Kita bisa menambahkan kolom ke matriks menggunakan metode insert (). di sini kita harus menyebutkan indeks tempat kita ingin menambahkan kolom dan array yang berisi nilai baru dari kolom yang ditambahkan. Dalam contoh di bawah ini kami menambahkan kolom baru di posisi kelima dari awal.
from numpy import *
m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
m_c = insert(m,[5],[[1],[2],[3],[4],[5],[6],[7]],1)
print(m_c)
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
[['Mon' '18' '20' '22' '17' '1']
['Tue' '11' '18' '21' '18' '2']
['Wed' '15' '21' '20' '19' '3']
['Thu' '11' '20' '22' '21' '4']
['Fri' '18' '17' '23' '22' '5']
['Sat' '12' '22' '20' '18' '6']
['Sun' '13' '15' '19' '16' '7']]
Hapus baris dari Matriks
Kita bisa menghapus baris dari matriks menggunakan metode delete (). Kita harus menentukan indeks baris dan juga nilai sumbu yaitu 0 untuk baris dan 1 untuk kolom.
from numpy import *
m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
m = delete(m,[2],0)
print(m)
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
[['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Thu' '11' '20' '22' '21']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']]
Hapus kolom dari Matriks
Kita bisa menghapus kolom dari matriks menggunakan metode delete (). Kita harus menentukan indeks kolom dan juga nilai sumbu yang 0 untuk satu baris dan 1 untuk kolom.
from numpy import *
m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
m = delete(m,s_[2],1)
print(m)
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
[['Mon' '18' '22' '17']
['Tue' '11' '21' '18']
['Wed' '15' '20' '19']
['Thu' '11' '22' '21']
['Fri' '18' '23' '22']
['Sat' '12' '20' '18']
['Sun' '13' '19' '16']]
Perbarui baris dalam Matriks
Untuk memperbarui nilai dalam baris matriks, kita cukup menetapkan kembali nilai pada indeks baris. Dalam contoh di bawah ini, semua nilai untuk data hari libur ditandai sebagai nol. Indeks untuk baris ini adalah 3.
from numpy import *
m = array([['Mon',18,20,22,17],['Tue',11,18,21,18],
['Wed',15,21,20,19],['Thu',11,20,22,21],
['Fri',18,17,23,22],['Sat',12,22,20,18],
['Sun',13,15,19,16]])
m[3] = ['Thu',0,0,0,0]
print(m)
Ketika kode di atas dijalankan, itu menghasilkan hasil sebagai berikut -
[['Mon' '18' '20' '22' '17']
['Tue' '11' '18' '21' '18']
['Wed' '15' '21' '20' '19']
['Thu' '0' '0' '0' '0']
['Fri' '18' '17' '23' '22']
['Sat' '12' '22' '20' '18']
['Sun' '13' '15' '19' '16']]