Python numpy ndarray屬性,索引,切片
一、ndarray 的重要屬性
- dtype屬性:返回ndarray數(shù)組的數(shù)據(jù)類(lèi)型,數(shù)據(jù)類(lèi)型的種類(lèi)。
- ndim屬性:返回?cái)?shù)組維度的數(shù)量。
- shape屬性:返回?cái)?shù)組對(duì)象的尺度,對(duì)于矩陣,即n行m列,shape是一個(gè)元組(tuple)。
- size屬性:返回用來(lái)保存元素的數(shù)量,相當(dāng)于shape中n×m的值。
- T屬性:返回?cái)?shù)組轉(zhuǎn)置。
二、切片
1. 一維切片
import numpy as np arr_1d = np.arange(12) arr_1d[:4] # 省卻起始,默認(rèn)從0開(kāi)始 arr_1d[6:11] arr_1d[0:11:2] # 指定步長(zhǎng)為 2 arr_1d[12:6:-1] # 反向切片
1. 二維切片
如果是多維數(shù)組,只需在每個(gè)維度之間用 ‘,’ 隔開(kāi)。
import numpy as np arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]]) arr_2d[0:2, 0:2] arr_2d[0:2, -3:] #前2行,倒數(shù)第3列開(kāi)始 arr_2d[-2:, ::2] # 倒數(shù)第2行開(kāi)始 列根據(jù)步長(zhǎng)2,每隔一列取一列
三、索引
1. 一維數(shù)組索引
import numpy as np arr_1d = np.arange(12) arr_1d[4] arr_1d[-2] # 反向索引 arr_1d[[2,4,6,7,8,9]] # 同事索引多個(gè)
2. 二維數(shù)組索引
import numpy as np arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]]) arr_2d[1, 2] arr_2d[-1, -1] # 反向索引 # 如果索引比維度少的多維數(shù)組,則會(huì)獲得一個(gè)子維數(shù)組 arr_2d[2] # 取 index=2 的行 # out array([ 7, 8, 9, 10]) arr_2d[2][0] # index=2 的行后,再去index=0 的列 # out 7 arr_2d[[2,0]] # 同時(shí)取 index =2 和 index=0 的行 # out array([[ 7, 8, 9, 10], [ 1, 2, 3, 4]])
3. 布爾索引
布爾索引就是根據(jù)條件篩選,判斷每個(gè)元素在條件下是True還是False,也就是布爾值,當(dāng)條件判斷True時(shí),返回。當(dāng)條件判斷為False時(shí),過(guò)濾掉。
import numpy as np arr_1d = np.arange(12) arr_1d[[False, False, False, False, False, True, True, True, True, True, True, True]] # out array([ 5, 6, 7, 8, 9, 10, 11]) arr_1d>=5 # out array([False, False, False, False, False, True, # True, True, True, True, True, True]) arr_1d[arr_1d>=5] # out array([ 5, 6, 7, 8, 9, 10, 11])
4. 非運(yùn)算
arr_1d[~(arr_1d>=5)] # out array([0, 1, 2, 3, 4])
5. 或運(yùn)算
只要對(duì)應(yīng)的二個(gè)二進(jìn)位有一個(gè)為1時(shí),結(jié)果位就為1。
arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]]) (arr_2d>=8) | (arr_2d<=2) # out array([[ True, True, False, False], # [False, False, False, False], # [False, True, True, True]]) arr_2d[(arr_2d>=8) | (arr_2d<=2)] # out array([ 1, 2, 8, 9, 10])
6. 與運(yùn)算
參與運(yùn)算的兩個(gè)值,如果兩個(gè)相應(yīng)位都為1,則該位的結(jié)果為1,否則為0
arr_2d = np.array([[1, 2, 3, 4],[4, 5, 6, 7], [7, 8, 9, 10]]) arr_2d[(arr_2d<=8) & (arr_2d>=2)] # ount array([2, 3, 4, 4, 5, 6, 7, 7, 8])
到此這篇關(guān)于Python numpy ndarray屬性,索引,切片的文章就介紹到這了,更多相關(guān)Python numpy ndarray 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python將logging模塊封裝成單獨(dú)模塊并實(shí)現(xiàn)動(dòng)態(tài)切換Level方式
這篇文章主要介紹了python將logging模塊封裝成單獨(dú)模塊并實(shí)現(xiàn)動(dòng)態(tài)切換Level方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
Django權(quán)限機(jī)制實(shí)現(xiàn)代碼詳解
這篇文章主要介紹了Django權(quán)限機(jī)制實(shí)現(xiàn)代碼詳解,分享了相關(guān)代碼示例,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-02-02
python正則表達(dá)式re.search()的基本使用教程
正則表達(dá)式是我們?nèi)粘i_(kāi)發(fā)中必然會(huì)遇到的,下面這篇文章主要介紹了python正則表達(dá)式re.search()的基本使用教程,需要的朋友可以參考下2021-05-05
Python實(shí)現(xiàn)郵件的批量發(fā)送的示例代碼
下面小編就為大家分享一篇Python實(shí)現(xiàn)郵件的批量發(fā)送的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
CoAtNet實(shí)戰(zhàn)之對(duì)植物幼苗圖像進(jìn)行分類(lèi)(pytorch)
谷歌的最新模型CoAtNet做了卷積 + Transformer的融合,在ImageNet-1K數(shù)據(jù)集上取得88.56%的成績(jī)。本文主要介紹如何用CoAtNet實(shí)現(xiàn)植物幼苗圖像的分類(lèi)。感興趣的小伙伴可以學(xué)習(xí)一下2021-12-12
python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實(shí)例
下面小編就為大家分享一篇python 拷貝特定后綴名文件,并保留原始目錄結(jié)構(gòu)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Python制作運(yùn)行進(jìn)度條的實(shí)現(xiàn)效果(代碼運(yùn)行不無(wú)聊)
這篇文章主要介紹了Python制作運(yùn)行進(jìn)度條的實(shí)現(xiàn)效果(代碼運(yùn)行不無(wú)聊),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
Python XlsxWriter模塊Chart類(lèi)用法實(shí)例分析
這篇文章主要介紹了Python XlsxWriter模塊Chart類(lèi)用法,結(jié)合實(shí)例形式分析了Python XlsxWriter模塊Chart類(lèi)功能、圖表繪制常用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-03-03

