对numpy中的数组条件筛选功能详解
2018-07-02 11:20
633 查看
在程序设计中,时常会遇到数据的唯一化、相同、相异信息的提取等工作,在格式化的向量存储矩阵中南,numpy能够提供比较不错的快速处理功能。
1,唯一化的实现:
In [63]: data = np.array(['int','float','int','boolean','double','boolean']) In [64]: data Out[64]: array(['int', 'float', 'int', 'boolean', 'double', 'boolean'], dtype='|S7') In [65]: np.unique(data) Out[65]: array(['boolean', 'double', 'float', 'int'], dtype='|S7') In [66]: data = np.array([1,5,3,6,2,4,1,3,5,7,9]) In [67]: data Out[67]: array([1, 5, 3, 6, 2, 4, 1, 3, 5, 7, 9]) In [68]: np.unique(data) Out[68]: array([1, 2, 3, 4, 5, 6, 7, 9])
通过unique可以实现数组的唯一化,并且,唯一化后的返回值会进行排序。
2,交集的实现
In [69]: data1 = np.arange(10) In [70]: data1 Out[70]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) In [71]: data2 = np.array([2,8,6,4]) In [72]: np.intersect1d(data1,data2) Out[72]: array([2, 4, 6, 8])
使用intersect1d可以实现求取两个数组集合的交集。
2,并集计算
In [73]: np.union1d(data1,data2) Out[73]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
union1d可以实现对两个数组集合的并集计算。
3,子集判断
In [74]: np.in1d(data1,data2) Out[74]: array([False, False, True, False, True, False, True, False, True, False], dtype=bool) In [75]: np.in1d(data2,data1) Out[75]: array([ True, True, True, True], dtype=bool)
通过in1d可以实现对第一个参数数组中的每个元素是否是第二个参数数组子集的判断,而最终通过判断返回的布尔数组即可判断两个参数数组的子集关系。
4,差异判断
4.1,集合差判断
In [76]: np.setdiff1d(data1,data2) Out[76]: array([0, 1, 3, 5, 7, 9]) In [77]: np.setdiff1d(data2,data1) Out[77]: array([], dtype=int32)
setdiff1d可以求解出存在于第一个集合但是并不存在于第二个集合中的元素。返回值是一个数组集合。
4.1 数组“异或”求解
In [78]: np.setxor1d(data1,data2) Out[78]: array([0, 1, 3, 5, 7, 9]) In [79]: np.setxor1d(data2,data1) Out[79]: array([0, 1, 3, 5, 7, 9])
setxor1d用于求解不同时存在于两个数组中的元素,并返回一个数组集合。两个参数的顺序变化不会改变求解的结果。返回的结果是是一个有序的数组序列。
上面的几个基本的逻辑判断功能如果能够使用得当,能够实现多种筛选判断的操作。
这篇对numpy中的数组条件筛选功能详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- numpy中的数组条件筛选功能
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- 基于JavaScript实现前端数据多条件筛选功能
- (Java 功能篇) java 字符串数组筛选重复数据
- numpy 中的ndarray数组返回符合特定条件的索引方法
- 仿京东的条件筛选功能(jquery)-转载
- 平台中多条件筛选功能
- 【转】实现多条件筛选、搜索、排序及分页的表格功能
- 详解.NET 4.0数组的相关新增功能
- C#&JQ仿网上商城商品条件筛选功能
- 对numpy中布尔型数组的处理方法详解
- numpy自动生成数组详解
- Numpy掩码式数组详解
- 对python numpy数组中冒号的使用方法详解
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- EXCEL:SUMIFS多条件求和2(筛选效果),含字符串转数组用法
- Vue.js实现多条件筛选、搜索、排序及分页的表格功能
- 利用已存在的数组,经过条件筛选后,再将筛选剩下的元素组成一个数组
- numpy 中的ndarray数组返回符合特定条件的索引方法
- vuejs实现本地数据的筛选分页功能思路详解