当前位置:   article > 正文

Numpy常见方法(3)-条件逻辑np.where方法_np.where逻辑

np.where逻辑

说明:本blog基于python3版本, numpy 1.22.0


前言

numpy的where方法主要应用是三元表达式 x if condition else y 的向量化版本;
【说明:向量化是numpy的特有术语,指的是对ndarray数据中的所有元素进行类似标量的操作】

一、numpy.where方法的输入和输出

numpy.where方法的输入格式服从公式:
numpy.where(condition, x, y), 含义是condition如果为True, 取x中的值,如果为False,取y中的值

numpy.where方法的输出是一个新的ndarray数据
【注意:最好让condition, x, y的shape相同】

二、numpy.where方法应用实例

假设我们有两个ndarray数据,分别称为a 和 b, 现在我们想替换掉a中的负值元素为b中对应位置的元素

代码如下

import numpy as np
a = np.array([[1,-2,-3],[4,-5,6]])
b = np.array([[11,12,13], [14,15,16]])
cond = a > 0
print(a)
print(b)
###使用np.where方法
c = np.where(cond, a, b)
print(c)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

结果如下,

[[ 1 -2 -3]
 [ 4 -5  6]]
[[11 12 13]
 [14 15 16]]
[[ 1 12 13]
 [ 4 15  6]]
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

由上结果可知,我们成功把a中的负值替换为b中对应位置的元素。


总结

写在最后,喜欢本博文就点个赞吧~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/685208
推荐阅读
相关标签
  

闽ICP备14008679号