在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Python/ Python矩陣
Python樹遍歷算法
Python雙端隊列
Python隊列
Python回溯
Python棧
Python數(shù)據(jù)結(jié)構(gòu)開發(fā)環(huán)境
Python數(shù)據(jù)結(jié)構(gòu)簡介
Python算法分析
Python圖遍歷算法
Python搜索算法
Python圖
Python鏈表
Python集合
Python元組
Python字典
Python矩陣
Python高級鏈表(雙向鏈表)
Python搜索樹
Python二維數(shù)組
Python堆
Python節(jié)點
Python排序算法
Python數(shù)據(jù)結(jié)構(gòu)
Python遞歸
Python列表
Python數(shù)組
Python算法設(shè)計
Python哈希表

Python矩陣

矩陣是二維數(shù)組的特殊情況,它的每個數(shù)據(jù)元素具有嚴(yán)格相同的大小。 所以每個矩陣也是一個二維數(shù)組,但反之亦然。 矩陣是許多數(shù)學(xué)和科學(xué)計算中非常重要的數(shù)據(jù)結(jié)構(gòu)。 正如在前一章中已經(jīng)討論過的二維數(shù)組結(jié)構(gòu),我們將在本章中專注于矩陣特有的數(shù)據(jù)結(jié)構(gòu)操作。

也使用numpy包進(jìn)行矩陣數(shù)據(jù)操作。

矩陣示例

考慮在早上,中午,晚上和深夜測量記錄1周溫度的情況。 它可以使用數(shù)組在numpy中可用的重塑方法以7 x 5矩陣的形式呈現(xiàn)。

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)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

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

訪問矩陣中的值

矩陣中的數(shù)據(jù)元素可以通過使用索引來訪問。 訪問方法與在二維數(shù)組中訪問數(shù)據(jù)的方式相同。

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

執(zhí)行上面示例代碼,得到以下結(jié)果 -

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

添加一行

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)

當(dāng)上面的代碼執(zhí)行時,它會產(chǎn)生以下結(jié)果 -

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

添加一列

可以使用insert()方法將一列數(shù)據(jù)添加到矩陣。 這里指定想要添加列的索引以及包含添加的列的新值的數(shù)組。 在下面的例子中,在開頭的第五個位置添加一個新的列。

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)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

[['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()方法從矩陣中刪除一行。 必須指定行的索引以及行的值為0,列的值為1的軸值。

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)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

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

從Matrix中刪除一列

可以使用delete()方法從矩陣中刪除一列。 必須指定列的索引以及一行為0,一列為1的軸值。

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)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

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

更新矩陣中的一行

要更新矩陣行中的值,只需在行的索引處重新分配值。 在下面的例子中,星期幾數(shù)據(jù)的所有值都標(biāo)記為0。 該行的索引是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)

當(dāng)上面的代碼執(zhí)行時,它會產(chǎn)生以下結(jié)果 -

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

上一篇:Python棧下一篇:Python搜索算法