Chapter 2. Numpy array 對象之索引

第一章總結(jié)了有關(guān)numpy庫中array對象的相關(guān)構(gòu)造方法以及array對象的比較重要的成員方法单料,本章將總結(jié)矩陣的索引操作。

索引基礎(chǔ)

1.使用“[ ]”握础,(方括號)操作符索引矩陣元素辐董。

2.“a:b”,表達式產(chǎn)生從a到b的序列。(常用作切片器(slicing))

索引方法

1.自然索引

使用"[ ]"操作符禀综,對array 對象的某一維度進行索引简烘。

#自然索引實例

x=np.arange(10).reshape(2,5) ? ?#產(chǎn)生shape=2*5的矩陣

a=x[1,1] ? ?#獲取(2,2)的值(索引單位為兩個維度)

b=x[1] ? ?#獲取第二行元素(索引單位為一個維度)

2.數(shù)組索引

????????numpy array 對象可以被其它array對象(或者其它任何可以被轉(zhuǎn)換成array對象的序列)索引定枷。此時當做索引的數(shù)組的內(nèi)容是位置孤澎。注意,所有的數(shù)組索引返回的都是原來array對象的拷貝欠窒,(copy)覆旭,但是切片(slicing)返回原來對象的視圖(view),操作會影響原對象岖妄。

#數(shù)組索引實例

x=np.arange(10).reshape(2,5)????#產(chǎn)生shape=2*5的矩陣

a=x[np.array([0,1]),np.array([3,2])]????#獲取(0,3)元素和(1,2)元素型将,兩個數(shù)組構(gòu)成坐標對

b=x[0:1,3:2]????#輸出同上,采用“:”操作符產(chǎn)生索引數(shù)組

c=x[np.array([0,1]),2]????#獲燃雠啊(0,2)和(1,2)元素七兜。此處第二維采用的brocasting技術(shù),索引2 廣播為(2,2)

e=x[0:1:1,0:4:2]????#start:stop:steps福扬,產(chǎn)生序列腕铸。此處steps指定了步長

f=x[::-1,2]????#::-1,缺省sart 表示從第一個元素開始忧换,缺省steps表示步長為1恬惯,缺省stop表示最后一個元素向拆。

s=x[::1]????#以第一個維度為單位進行索引

g=np.arange(10)

h=g[np.array([1,1],[2,3])????#輸出h.shape=(2,2)亚茬,輸出數(shù)組的維度和輸入數(shù)組的維度同等。輸入索引數(shù)組的單個元素作為索引浓恳。

總結(jié):數(shù)組索引技術(shù)之下刹缝,返回的數(shù)組形狀與索引數(shù)組以及沒用使用的維度相關(guān)碗暗。同時,索引中存在broadcasting技術(shù)梢夯,構(gòu)成坐標對言疗。

3.布爾索引(mask索引)

布爾索引中所使用的布爾索引數(shù)組必須和被索引的數(shù)組維度相同,缺省維度操作與“:”操作效果相同——作為一個整體颂砸。一般來講噪奄,可以由原來的矩陣做邏輯運算產(chǎn)生布爾索引矩陣。布爾索引產(chǎn)生的返回數(shù)組是原數(shù)組的copy人乓,換而言之勤篮,修改返回結(jié)果不會影響到原來數(shù)組的值。

#布爾索引實例

x=np.arange(30).reshape(2,3,5)

b=np.array([[True,True,False],[False,True,True]]) ? ?#形狀為2*3色罚,缺省第三個維度

x[b] ? ?#輸出為4*4(b矩陣中有4個True)

4.增加數(shù)組維度

np.newaxis對象可以在已有的數(shù)組之上構(gòu)造出多一個維度的數(shù)組碰缔。

x=np.arange(10)

print(x[:,np.newaxis]) ? ?#shape=n*1

print(x[np.newaxis,:]) ? ?#shape=1*n

>>>[[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]]

>>>[[0 1 2 3 4 5 6 7 8 9]]

5.tuples和array索引的區(qū)別

“[ ]”作為索引時,為索引對應位置上的值戳护,產(chǎn)生一個同型的矩陣(索引維數(shù)較被索引的array對象低時候金抡,采用broadcasting技術(shù)),"( )"出現(xiàn)在array對象中的時候,當做索引一個array元素腌且。

x=np.arange(20).reshape(5,4)

print(x[[2,3,4]]) ? ?#產(chǎn)生一個array對象

print(x[(1,2)]) ? ?#返回一個數(shù)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末梗肝,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铺董,更是在濱河造成了極大的恐慌统捶,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柄粹,死亡現(xiàn)場離奇詭異喘鸟,居然都是意外死亡,警方通過查閱死者的電腦和手機驻右,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門什黑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人堪夭,你說我怎么就攤上這事愕把。” “怎么了森爽?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵恨豁,是天一觀的道長。 經(jīng)常有香客問我爬迟,道長橘蜜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮计福,結(jié)果婚禮上跌捆,老公的妹妹穿的比我還像新娘。我一直安慰自己象颖,他們只是感情好佩厚,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著说订,像睡著了一般抄瓦。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上陶冷,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天闺鲸,我揣著相機與錄音,去河邊找鬼埃叭。 笑死摸恍,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的赤屋。 我是一名探鬼主播立镶,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼类早!你這毒婦竟也來了媚媒?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤涩僻,失蹤者是張志新(化名)和其女友劉穎缭召,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體逆日,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡嵌巷,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了室抽。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搪哪。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坪圾,靈堂內(nèi)的尸體忽然破棺而出晓折,到底是詐尸還是另有隱情,我是刑警寧澤兽泄,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布漓概,位于F島的核電站,受9級特大地震影響病梢,放射性物質(zhì)發(fā)生泄漏胃珍。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望堂鲜。 院中可真熱鬧,春花似錦护奈、人聲如沸缔莲。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽痴奏。三九已至,卻和暖如春厌秒,著一層夾襖步出監(jiān)牢的瞬間读拆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工鸵闪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留檐晕,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓蚌讼,卻偏偏與公主長得像辟灰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子篡石,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容

  • 基礎(chǔ)篇NumPy的主要對象是同種元素的多維數(shù)組芥喇。這是一個所有的元素都是一種類型、通過一個正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,120評論 0 18
  • Numpy的組成與功能 Numpy(Numeric Python)可以被理解為一個用python實現(xiàn)的科學計算包,...
    不做大哥好多年閱讀 4,276評論 0 10
  • 先決條件 在閱讀這個教程之前凰萨,你多少需要知道點python继控。如果你想從新回憶下,請看看Python Tutoria...
    舒map閱讀 2,570評論 1 13
  • import numpy as np 創(chuàng)建ndarray data1 = [6,7.5, 8, 0, 1]arr1...
    陸文斌閱讀 638評論 0 1
  • 我曾有一段很長時間的獨居經(jīng)歷胖眷,那個時候武通,孤獨無所不在。屋中的桌椅珊搀,圖書厅须,甚至夜晚躺著的那張床都讓我感到陣陣凄冷。而...
    一只瘋狂的蝸牛閱讀 500評論 0 0