新聞中心
繼上篇講過numpy切片問題后,今天就numpy索引問題,小編為大家?guī)碓敱M解析。

發(fā)展壯大離不開廣大客戶長期以來的信賴與支持,我們將始終秉承“誠信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠服務(wù)每家企業(yè),認(rèn)真做好每個細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及成都除甲醛等,在重慶網(wǎng)站建設(shè)、成都營銷網(wǎng)站建設(shè)、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。
我們都知道,使用numpy可以存儲和處理大型矩陣,必然需要學(xué)會使用矩陣的表示。矩陣中對應(yīng)元素如何索引等。在此之前,我們已經(jīng)學(xué)過線性代數(shù)中矩陣的表示,a[2][3]即表示第3行第4列的元素。那么,在numpy中也一樣。
一維索引
import numpy as np A = np.arange(3,15) # array([3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]) print(A[3]) # 6
A = np.arange(3,15).reshape((3,4)) """ array([[ 3, 4, 5, 6] [ 7, 8, 9, 10] [11, 12, 13, 14]]) """ print(A[2]) # [11 12 13 14]
A[2]對應(yīng)的就是矩陣A中第三行(從0開始算第一行)的所有元素。
二維索引
當(dāng)我們需要表示具體某個元素時,就需要使用到二維索引。依然使用上述例子。
print(A[1][1]) # 8 print(A[1,1]) # 8
對一定范圍內(nèi)的元素進(jìn)行切片操作:
print(A[1, 1:3]) # [8 9] for row in A: # 對行操作 print(row) """ [3 4 5 6] [ 7 8 9 10] [11 12 13 14] """ for column in A.T: # 對列操作 print(column) """ [ 3 7 11] [ 4 8 12] [ 5 9 13] [ 6 10 14] """
注意:上述表示方法 A.T 即對A進(jìn)行轉(zhuǎn)置,再將得到的矩陣逐行輸出即可得到原矩陣的逐列輸出。
關(guān)于迭代輸出的問題
import numpy as np A = np.arange(3,15).reshape((3,4)) print(A.flatten()) # [ 3 4 5 6 7 8 9 10 11 12 13 14] for item in A.flat: print(item) # 3 # 4 …… # 14
這一腳本中的flatten是一個展開性質(zhì)的函數(shù),將多維的矩陣進(jìn)行展開成1行的數(shù)列。而flat是一個迭代器,本身是一個object屬性。
numpy的切片和索引方法到這里就全部分享給大家了。更多Python學(xué)習(xí)推薦:PyThon學(xué)習(xí)網(wǎng)教學(xué)中心。
新聞名稱:創(chuàng)新互聯(lián)Python教程:Python中numpy如何索引
標(biāo)題網(wǎng)址:http://www.dlmjj.cn/article/cdccjec.html


咨詢
建站咨詢
