免费w网站建设,浏览网址大全,设计制作公司,企业门户网站设计论文本文主要解释了如何根据给定的索引对一维数组进行反选的操作。 以下文数据为例
import numpy as np
data np.array([ 0.93825827, 0.26701143, 0.99121108, 0.35582816, 0.90154837, 0.86254049, 0.83149103, 0.42222948, 0.27309625, 0.38925281]
)如果我们给定一个阈值…本文主要解释了如何根据给定的索引对一维数组进行反选的操作。 以下文数据为例
import numpy as np
data np.array([ 0.93825827, 0.26701143, 0.99121108, 0.35582816, 0.90154837, 0.86254049, 0.83149103, 0.42222948, 0.27309625, 0.38925281]
)如果我们给定一个阈值比如0.5来筛选数值我们可以通过以下操作来选取相应的项
greater_than_05 data[data0.5]
less_than_05 data[data0.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索引来反选出其他的数据了。