English 中文(简体)
Python - Matrix
  • 时间:2024-12-22

Python - Matrix


Previous Page Next Page  

Matrix is a special case of two dimensional array where each data element is of strictly same size. So every matrix is also a two dimensional array but not vice versa.

Matrices are very important data structures for many mathematical and scientific calculations. As we have already discussed two dimnsional array data structure in the previous chapter we will be focusing on data structure operations specific to matrices in this chapter.

We also be using the numpy package for matrix data manipulation.

Matrix Example

Consider the case of recording temprature for 1 week measured in the morning, mid-day, evening and mid-night. It can be presented as a 7X5 matrix using an array and the reshape method available in 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)

Output

The above data can be represented as a two dimensional array as below −


[
   [ 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 ]
]

Accessing Values

The data elements in a matrix can be accessed by using the indexes. The access method is same as the way data is accessed in Two dimensional array.

Example


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

Output

When the above code is executed, it produces the following result −


[ Wed , 15, 21, 20, 19]
23

Adding a row

Use the below mentioned code to add a row in a matrix.

Example


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)

Output

When the above code is executed, it produces the following result −


[
   [ 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 ]
]

Adding a column

We can add column to a matrix using the insert() method. here we have to mention the index where we want to add the column and a array containing the new values of the columns added.In the below example we add t a new column at the fifth position from the beginning.

Example


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)

Output

When the above code is executed, it produces the following result −


[
   [ 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 ]
]

Delete a row

We can delete a row from a matrix using the delete() method. We have to specify the index of the row and also the axis value which is 0 for a row and 1 for a column.

Example


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)

Output

When the above code is executed, it produces the following result −


[
   [ 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 ]
]

Delete a column

We can delete a column from a matrix using the delete() method. We have to specify the index of the column and also the axis value which is 0 for a row and 1 for a column.

Example


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)

Output

When the above code is executed, it produces the following result −


[
   [ 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 ]
]

Update a row

To update the values in the row of a matrix we simply re-assign the values at the index of the row. In the below example all the values for thrusday s data is marked as zero. The index for this row is 3.

Example


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)

Output

When the above code is executed, it produces the following result −


[
   [ 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 ]
]
Advertisements