当前位置:   article > 正文

numpy中ndarray逻辑运算、通用判断函数、np.all()、np.any()、三元运算np.where()、np.logical_and、or、not、统计运算np.median等函数方法使用

np.any

一、逻辑运算

直接进行大小判断 

  1. score = np.random.randint(50, 100, (8, 5))
  2. score
  3. select_score = score[3:,:4] # 切取score数组中行下标为3至最后一行,列下标从0至第3的元素(左闭右开)
  4. select_score
  5. select_score > 80
  6. ----------------------------------------------------------------------
  7. score2 = np.random.randint(50, 100, (3, 5)) # 生成3×5 值在[50,100)间的二维数组
  8. score2
  9. score2 > 90 # 逻辑判断, 若大于90则标记为True,否则为False
  10. score2 == 99 # 判断是否存在99
  11. score2[score2 > 60] = 1 # 布尔赋值, 将满足条件的标记为指定的值-布尔索引
  12. score2

 操作演示如下

二、通用判断函数

  • np.all():所有元素为True,输出为True
  • np.any():任意一个元素为True,输出为True
  1. score3 = np.random.randint(50, 100, (3, 5)) # 生成3×5 值在[50,100)间的二维数组
  2. score3
  3. score3[0,0] = 100 # 修改一个
  4. score3[0,2:4] = 0 # 修改连续多个
  5. score3
  6. np.all(score3[1,0:3] > 60)
  7. np.all(score3[1,0:3] > 90)
  8. np.any(score3[1,0:3] < 70)
  9. np.any(score3[1,0:3] < 80)

 三、三元运算符np.where

  • np.where(condition, x, y):满足条件condition,输出x,不满足输出y
  • 复合逻辑需要结合np.logical_and、np.logical_or和np.logical_not使用,对应与、或、非

代码如下

  1. score4 = np.random.randint(50, 100, (3, 5)) # 生成3×5 值在[50,100)间的二维数组
  2. score4
  3. np.where(score4 > 88, 5, 2) # 符合指定条件标置为5,否则为2
  4. np.where(np.logical_and(score4 > 70, score4 < 90), 1, 0) # 符合指定条件标置为1,否则为0
  5. np.where(np.logical_or(score4 <= 70, score4 >= 90), 1, 0) # 符合指定条件标置为1,否则为0
  6. np.where(np.logical_not(score4 <= 70, score4 >= 90), 1, 0) # 符合指定条件标置为1,否则为0

  • 其他
    •  &或*:与
    • |:或
  1. score5 = np.random.randint(50, 100, (3, 5)) # 生成3×5 值在[50,100)间的二维数组
  2. score5
  3. np.where((score5 > 70)&(score5 < 90)) # 与,返回符合条件的行、列下标索引
  4. np.where((score5 > 70)*(score5 < 90)) # 与
  5. np.where((score5 < 70)&(score5 > 90)) # 与
  6. np.where((score5 < 70)|(score5 > 90)) # 或,返回符合条件的行、列下标索引
  7. np.where((score5 < 70))

 四、统计运算

  • np.min(a, axis):返回数组的最小值或沿axis轴的最小值
  • np.max(a, axis]):返回数组的最大值或沿axis轴的最大值
  • np.median(a, axis):计算沿指定轴axis的中位数
  • np.mean(a, axis, dtype):计算沿指定轴axis的算术平均值
  • np.std(a, axis, dtype):计算沿指定轴axis的标准偏差
  • np.var(a, axis, dtype):计算沿指定轴axis的方差
  • 统计时,axis 轴的取值不定,Numpy中不同的API轴的值都不一样,在这里,axis=0代表列, axis=1代表行去进行统计
  • np.argmax(a, axis):获取指定每一行或列中最大值索引下标
  • np.argmin(a, axis):获取指定每一行或列中最小值索引下标

代码如下

  1. score6 = np.random.randint(30, 100, (3, 5)) # 生成3×5 值在[50,100)间的二维数组
  2. score6
  3. np.min(score6, axis=0) # 统计每一列中的最小值,axis=0为列,axis=1为行
  4. np.max(score6, axis=0) # 统计每一列中的最大值
  5. np.max(score6, axis=1) # 统计每一行中的最大值,axis=1为行
  6. np.median(score6, axis=0) # 统计每一列中的中位数
  7. np.mean(score6, axis=0) # 统计每一列中的算数平均值
  8. np.std(score6, axis=0) # 统计每一列中的标准偏差
  9. np.var(score6, axis=0) # 统计每一列中的方差
  10. np.argmax(score6, axis=0) # 获取每一列中最大值所在的行的索引下标
  11. np.argmin(score6, axis=0) # 获取每一列中最小值所在的行的索引下标

演示结果如下 

学习导航:http://xqnav.top/

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

闽ICP备14008679号