博客
关于我
numpy.where()、numpy.nonzero()结构及用法||参数详解
阅读量:343 次
发布时间:2019-03-04

本文共 1440 字,大约阅读时间需要 4 分钟。

numpy.where和numpy.nonzero的详细解释

numpy.where的两种用法

numpy.where是一个强大的函数,用于根据条件选择数组中的元素。它有两种主要用法,具体取决于是否传递x和y参数。

  • numpy.where(condition, x, y)
  • 这种用法最为常用。它接受三个参数:

    • condition:一个布尔数组,表示哪些位置满足条件。
    • x:满足条件的位置对应的值。
    • y:不满足条件的位置对应的值。

    函数返回一个新的数组,其中满足条件的位置取自x,不满足条件的位置取自y。返回的数组类型与x和y一致。

    示例:

    import numpy as npcondition = np.array([[True, False], [True, True]])x = np.array([[1, 2], [3, 4]])y = np.array([[9, 8], [7, 6]])result = np.where(condition, x, y)print(result)  # 输出:[[1, 8], [3, 4]]
    1. numpy.where(condition)
    2. 如果只传递condition参数,不传递x和y,函数会返回满足条件的元素的坐标。这种用法等价于numpy.nonzero(condition),但返回的坐标类型是tuple,而不是数组。

      示例:

      import numpy as npcondition = np.array([[True, False], [True, True]])indices = np.where(condition)print(indices)  # 输出:((0, 0), (0, 1))

      numpy.nonzero的用法

      numpy.nonzero(condition)函数返回满足条件的元素的坐标。返回类型是一个包含多个数组的tuple,数组的数量等于输入数组的维度。每个数组表示该维度中非零元素的索引。

      示例:

    3. 一维数组:
    4. import numpy as npa = np.array([1, 2, 3, 0, 4, 5])non_zero = np.nonzero(a)print(non_zero)  # 输出:(array([0, 1, 3, 5]),)
      1. 二维数组:
      2. import numpy as npb = np.array([    [1, 2],    [3, 4],    [0, 0]])non_zero = np.nonzero(b)print(non_zero)  # 输出:((0, 0), (0, 1))
        1. 三维数组:
        2. import numpy as npc = np.array([    [[1, 2], [3, 4]],    [[5, 6], [7, 8]]])non_zero = np.nonzero(c)print(non_zero)  # 输出:((0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1))

          总结

          • numpy.where(condition, x, y):根据条件选择x或y中的值,返回新数组。
          • numpy.where(condition):返回满足条件的元素的坐标。
          • numpy.nonzero(condition):返回非零元素的坐标,适用于多维数组。

          这些函数在数据处理和分析中非常有用,尤其是在需要根据条件筛选数据时。

    转载地址:http://bfwr.baihongyu.com/

    你可能感兴趣的文章
    阿里钉钉面试题
    查看>>
    华为社招笔试
    查看>>
    C++中找资源或者函数的方法
    查看>>
    一些留给自己的思考题(只求回过头来能够有所获)
    查看>>
    SQL函数返回表的写法
    查看>>
    delete对象时会自动调用类的析构函数
    查看>>
    C++ 子类对象直接赋值给父类对象可行,反过来不行
    查看>>
    linux下同一个动态库名为何辣么多的.so文件
    查看>>
    SQL联表的方式(逗号, Left Join, Right Join)
    查看>>
    牛客网输入输出举例
    查看>>
    字符串初始化时的注意点
    查看>>
    软考相关试题
    查看>>
    顺序表的操作
    查看>>
    常量表达式
    查看>>
    POD类型
    查看>>
    const与常量,傻傻分不清楚~
    查看>>
    Head First设计模式——迭代器模式
    查看>>
    MongoDB版本及存储引擎区别
    查看>>
    shell echo单行和多行文字定向写入到文件中
    查看>>
    AtCoder Beginner Contest 100 题解
    查看>>