本文主要解释了如何根据给定的索引对一维数组进行反选的操作。
以下文数据为例

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[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一维数组如何对给出的索引进行反选相关推荐

  1. 编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中。找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以一个空

    题目:编写程序,从键盘输人 10个整数,之间以一个空格隔开,存放在一维数组中.找出值最大和最小的元素,第一行输出最大值及其所在的元素下标,之间以一个空格隔开;第二行输出最小值及其所在的元素下标,之间以 ...

  2. 实验4.1对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 。 要求: 1)数组有10个元素; 2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息; 3)输出时,首先输出数组

    /*SY4.1 题目描述 对任意一个一维数组,从中找出数组元素的最大值和最小值并输出 . 要求: 1)数组有10个元素: 2)使用scanf函数实现数组元素的输入,输入前给出必要的提示信息: 3)输出 ...

  3. 返回多个不同类型参数的值(out)可变参数一维数组( params )把值从方法中带出(ref) 方法递归(方法自己调用自己与循坏类似注意return每次只能跳出一个方法))...

    //out参数  如果需要在方法中,返回多个值,并且是不同类型,可以使用out参数帮助我们返回.  out参数就是帮助我们在方法中返回多个不同类型的值.  out参数必须在方法的内部为其赋值,而在方法 ...

  4. C语言试题二十三之编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中

    1. 题目 请编写一个函数void function(int tt[m][n],int pp[n]),tt指向一个m行n列的二维函数组,求出二维函数组每列中最小元素,并依次放入pp所指定一维数组中.二 ...

  5. c语言求100以内整除13的最大,VB程序设计的一道题,找出100以内能被3整除的所有数之和,并把值保存在一维数组中...

    VB程序设计的一道题,找出100以内能被3整除的所有数之和,并把值保存在一维数组中以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看 ...

  6. 13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

    13.请编一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中.二维数组中的数已在主函数中 ...

  7. 请编写一个函数void fun(int tt[M][N],int pp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。

    #include <iostream> #include<iomanip> using namespace std; #define M 3 #define N 4 /*求出二 ...

  8. C语言编程>第七周 ⑧ 请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中。

    例题:请编一个函数void fun(int a[M][N],int b[N]),c指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入b所指一维数组中.二维数组中的数己在主函数中赋予. ...

  9. java找出一组数据缺少最小数组_Java获取一维数组的最小值实现方法

    编写程序,实现接受用户在文本框中输入的单行数据.这些数据都是整数数字,以空格进行分隔,空格数量不限.并将这些数据分割成一维数组,再从数组中提取最小值显示在界面中.思路是先对用户的输入进行验证,即先用t ...

最新文章

  1. 页面瘦身之压缩viewState和保存viewState到服务器
  2. [网络安全自学篇] 四十二.DNS欺骗和钓鱼网站原理详解及防御机理
  3. (二)html5中的属性
  4. linux下解压 cpio.gz格式文件
  5. c#中Dictionary、ArrayList、Hashtable和数组 Array 的区别(转)
  6. python 数据库查询结果邮件提醒_python读取postgresql数据库并发送相关提醒邮件
  7. c语言handler指针,typedef与指向函数的指针结合的妙用
  8. Mysql查询按照某字段指定顺序排序
  9. python关于numpy常用函数思维导图
  10. Xilinx平台SRIO介绍(六)SRIO收发测试
  11. UDP数据丢包跟踪与总结
  12. java-maven项目中出现Cannot resolve————已解决
  13. U盘仅显示几兆的解决方法
  14. 洛谷 P3807 【模板】卢卡斯定理/Lucas 定理
  15. MICCAI-iseg2017挑战赛小结与婴儿脑组织分割总结
  16. Supervisely 人像分割数据集
  17. EFR32上实现精确的软件延时
  18. “三天打鱼两天晒网”
  19. ProgressDialog在线程里下载图片
  20. 2011 各大IT公司笔试面试题目

热门文章

  1. c ++ 函数的esp指针_在C ++中通过指针访问成员函数
  2. 242. 有效的字母异位词 golang
  3. 布隆过滤器的原理、应用场景和源码分析实现
  4. centos升级之内核kernel
  5. linux网络编程之多路I/O转接服务器poll函数
  6. node.js将buffer对象转换为json对象
  7. 数据可视化【三】基本概念
  8. mysql数据库文件位置
  9. 【工作经验分享】这些新技术你们都知道吗
  10. HTML如何添加锚点,分享一点面试小经验