当前位置:主页 > python教程 > 对numpy中的数组条件筛选功能详解

如何对numpy中的数组条件筛选

发布:2020-03-02 11:15:29 184


给大家整理了Python相关的编程文章,网友苏宏峻根据主题投稿了本篇教程内容,涉及到numpy、数组、对numpy中的数组条件筛选功能详解相关内容,已被524网友关注,涉猎到的知识点内容可以在下方电子书获得。

对numpy中的数组条件筛选功能详解

在程序设计中,时常会遇到数据的唯一化、相同、相异信息的提取等工作,在格式化的向量存储矩阵中南,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中的数组条件筛选功能详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • Python numpy.array()生成相同元素数组方法总结

    发布:2019-06-08

    今天小编就为大家分享一篇Python numpy.array()生成相同元素数组的示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • Numpy数组转置的实现

    发布:2023-04-03

    本文主要介绍了Numpy数组转置的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • 介绍python中数组和矩阵乘法及使用示例代码

    发布:2020-03-16

    这篇文章主要介绍了python中数组和矩阵乘法及使用总结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • scipy稀疏数组dok_array的具体使用

    发布:2023-03-27

    本文主要介绍了scipy稀疏数组dok_array的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • Python Matplotlib解决绘图X轴值不按数组排序问题

    发布:2020-01-29

    这篇文章主要介绍了详解Python Matplotlib解决绘图X轴值不按数组排序问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起


  • numpy数组和矩阵的乘法知识点详解

    发布:2020-02-11

    下面就为大家分享一篇对numpy 数组和矩阵的乘法的进一步理解,具有很好的参考价值,希望对大家有所帮助。一起过来看看吧


  • java数组异常类型总结及用法

    发布:2021-08-25

    在本篇文章里小编给各位分享的是一篇关于java数组中的异常类型整理内容,有兴趣的朋友们可以学习下。


  • JS实现数组去重的实例方法

    发布:2020-07-10

    这篇文章主要介绍了JS简单实现数组去重的方法,结合具体实例形式分析了javascript数组遍历、判断实现去重复的相关操作技巧与注意事项,需要的朋友可以参考下


网友讨论