布林索引
對比列表list,如下:# 建立乙個隨機整數陣列
arr2 = np.random.randint(0,
50,20)
# 列印結果
array([17
,42,35
,3,38
,1,34
,12,24
,39,30
,33,46
,0,30
,0,32
,28,16
,0])
# 獲取布林索引
arr2%2==
0# 列印結果
array(
[false
,true
,false
,false
,true
,false
,true
,true
,true
,false
,true
,false
,true
,true
,true
,true
,true
,true
,true
,true])
# 通過布林索引獲取需要的元素陣列
arr2[arr2%2==
0] array([42
,38,34
,12,24
,30,46
,0,30
,0,32
,28,16
,0])
總結,列表是不支援「布林索引」的,而numpy 中的 array 是支援「布林索引的」m =[1
,2,3
,5]m%
2==0輸出結果:
typeerror traceback (most recent call last)
input-58
-738d9db1a292
>
in1 m =[1
,2,3
,5]-
--->
2 m%2==
0typeerror: unsupported operand type
(s)for%:
'list'
and'int'
陣列形式的索引
對比列表list,如下:# 建立陣列
arr3 = np.array([0
,1,2
,0,3
,4,0
,5,6
,0])
# 得到乙個下標陣列
indexs = np.nonzero(arr3)
indexs
# 輸出結果
(array([1
,2,4
,5,7
,8])
,)# 根據索引陣列獲取元素
arr3[indexs]
array([1
,2,3
,4,5
,6])
總結,列表是不支援「陣列索引」的,而numpy 中的 array 是支援「陣列索引的」#建立乙個列表
list1 =[1
,2,3
,4,5
]# 根據索引陣列獲取元素
list1[1,
2,4]
#輸出結果:
typeerror traceback (most recent call last)
input-63
-8fa735770a63
>
in1 list1 =[1
,2,3
,4,5
]---
->
2 list1[[1
,2,3
]]typeerror:
list indices must be integers or slices,
notlist
如何找出numpy array陣列中的不同元素
例如在 array 陣列 1,2,3,3,5 5,9,18,100,2 中找出裡面的不同元素 第一步就是把這個array陣列用flatten鋪平為 1,2,3,3,5,5,9,18,100,2 第二步就是用.tolist 進行轉列表 第三步就是用set list 進行不同元素的提取了 import ...
numpy array軸的理解
最近的學習中,發現可以把軸看成是維度,特地分享給大家,方便理解numpy的陣列運算。如a np.arange 8 reshape 2,4 0 1 2 3 4 5 6 7 此時軸0對應 2,4 中的2,軸1對應 2,4 中的4。用乙個numpy中的函式來檢驗這個想法 numpy.swapaxes 函式...
numpy array多維度的理解
import numpy as np u1 np.array 0 0 0 0 0 0 0 0 0 0 u2 np.array 0 0 0 0 0 0 0 0 0 0 u5 np.dstack u1,u2 u4 np.hstack u1,u2 u3 np.vstack u1,u2 print u1.s...