numpy中陣列的布林類索引
阿新 • • 發佈:2020-12-05
第一次看到這樣的用法,寫幾行看一下是怎麼用的
#!/usr/bin/env python # coding: utf-8 # In[1]: import numpy as np # In[2]: outdegrees = np.array([1,2,0,3,0,4,0]) masks = (outdegrees != 0) # 這一步程式碼是把outdegrees(numpy陣列)中為零的位置設為false,非零的地方設為True,產生的是一個布林型的numpy陣列 # masks = [ True True False True False True False] current_nodes= np.array([2,1,5,3,6,7,9]) print(masks) print(current_nodes[masks]) # [2 1 3 7] # 這裡是在current_nodes中只取masks為True的對應位置的元素 # In[3]: for i in range(len(outdegrees)): # not np.any(masks) masks至少存在一個True為真,全為false則為假 if not np.any(masks): break print("1:",i) masks = np.array([ False,False,False,False,False,False,False])for i in range(len(outdegrees)): if not np.any(masks): break print("2:",i) ''' 1: 0 1: 1 1: 2 1: 3 1: 4 1: 5 1: 6 ''' # In[ ]: