numpy系列 5 索引 切片 排序 搜尋和計數

2022-03-19 07:07:19 字數 1635 閱讀 7511

a[1] // 1

a[[1, 2, 3]]  // array([1, 2, 3])

a[1,2] 或者 a[1][2]  // 7

# 注意:若是python的list型別正確語法只能是a[1][2]

a[[1, 2], [3, 4]]  // 獲取a[1,3]和a[2,4]的值:array([ 8, 14])

a[[0, 1], [1, 2], [1, 2]]  // 獲取a[0,1,1]和a[1,2,2]的值:array([ 4, 23])
ndarray[start:stop:step]:[start:stop:step] 分別代表 [起始索引:截至索引:步長]

列如 a[:, ::2]:按步長為 2 取所有列和所有行的資料

當超過 3 維或更多維時,用 2 維資料的切片方式類推即可。

example:

a=array([[ 0, 1, 2, 3, 4],

[ 5, 6, 7, 8, 9],

[10, 11, 12, 13, 14],

[15, 16, 17, 18, 19]])

a[0:3, 2:4]=

array([[ 2, 3],

[ 7, 8],

[12, 13]])

numpy.sort(a, axis=-1, kind='quicksort', order=none)

○ axis:要排序的軸。如果為none,則在排序之前將陣列鋪平。預設值為 -1,沿最後乙個軸排序。

○ kind:,排序演算法。預設值為 quicksort。

numpy.lexsort(keys ,axis):使用多個鍵進行間接排序。

numpy.argsort(a ,axis,kind,order):沿給定軸執行間接排序。

numpy.msort(a):沿第 1 個軸排序。

numpy.sort_complex(a):針對複數排序。

○ argmax(a ,axis,out):返回陣列中指定軸的最大值的索引。

○ nanargmax(a ,axis):返回陣列中指定軸的最大值的索引,忽略 nan。

○ argmin(a ,axis,out):返回陣列中指定軸的最小值的索引。

○ nanargmin(a ,axis):返回陣列中指定軸的最小值的索引,忽略 nan。

○ argwhere(a):返回陣列中非 0 元素的索引,按元素分組。

○ nonzero(a):返回陣列中非 0 元素的索引。

○ flatnonzero(a):返回陣列中非 0 元素的索引,並鋪平。

○ where(條件,x,y):根據指定條件,從指定行、列返回元素。

○ searchsorted(a,v ,side,sorter):查詢要插入元素以維持順序的索引。

○ extract(condition,arr):返回滿足某些條件的陣列的元素。

○ count_nonzero(a):計算陣列中非 0 元素的數量。

Numpy 索引及切片

索引和切片在基礎語法那篇文章中介紹過,python內建的資料型別基本都可以使用索引和切片,numpy是乙個陣列物件,我們來看看它的索引和切片有什麼不同的地方。普通索引及切片 一維陣列 和python中的列表一樣 ar np.arange 20 print ar print ar 4 print ar...

numpy 索引及切片

布林型索引及切片 陣列索引及切片值的更改 複製 import numpy a numpy.arange 0,20 print a print a 4 print a 4 10 import numpy b numpy.arange 0,16 reshape 4,4 print b print b 2...

numpy索引與切片

作用 要獲取陣列的單個元素,指定元素的索引即可 例子 print x 2 3 print x 2 21 22 23 24 25 print x 2 1 22 print x 2,1 22 切片操作是指抽取陣列的一部分元素生成新陣列。對 python列表進行切片操作得到的陣列是原陣列的 副本,而對 n...