npy一维数组如何对给出的索引进行反选
本文主要解釋了如何根據給定的索引對一維數組進行反選的操作。
以下文數據為例
如果我們給定一個閾值比如0.5來篩選數值,我們可以通過以下操作來選取相應的項
greater_than_05 = data[data>0.5] less_than_05 = data[data<=0.5] print("greater_than_05 : \n", greater_than_05) print("less_than_05 : \n", less_than_05)輸出結果如下 :
greater_than_05 :
[0.93825827 0.99121108 0.90154837 0.86254049 0.83149103]
less_than_05 :
[0.26701143 0.35582816 0.42222948 0.27309625 0.38925281]
那么在更加復雜的情況下,例如,我們給出索引sample_indexes = [0,1,2],如何反選剩下的項呢。首先我們需要知道的就是,npy數組是可以使用bool型的索引的,當bool型索引數組的長度與目標len(data)相同時,我們就會從data中選出對應索引數組中所有True對應的項。下面用一個簡單的例子解釋 :
sample_indexes=[0,1,2] mask = np.ones(len(data), np.bool) mask[sample_indexes] = False print("mask :\n",mask) other_data = data[mask] print("other_data : \n",other_data)輸出結果如下 :
mask :
[False False False True True True True True True True]
other_data :
[0.35582816 0.90154837 0.86254049 0.83149103 0.42222948 0.27309625
0.38925281]
其中我們首先創建一個與目標1D數組長度相同的bool型數組,將sample_index對應的改為false,之后就可以通過剩下的mask索引來反選出其他的數據了。
總結
以上是生活随笔為你收集整理的npy一维数组如何对给出的索引进行反选的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python一步将npy数据保存成mat
- 下一篇: 一文看懂卷积神经网络CNN的核心