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

