在numpy矩阵中令小于0的元素改为0的实例

yipeiwu_com6年前Python基础

如下所示:

>>> import numpy as np
>>> a = np.random.randint(-5, 5, (5, 5))
>>> a
array([[-4, -4, -5, 2, 1],
  [-1, -2, -1, 3, 3],
  [-1, -2, 3, -5, 3],
  [ 0, -3, -5, 1, -4],
  [ 0, 3, 1, 3, -4]])
# 方式一
>>> np.maximum(a, 0)
array([[0, 0, 0, 2, 1],
  [0, 0, 0, 3, 3],
  [0, 0, 3, 0, 3],
  [0, 0, 0, 1, 0],
  [0, 3, 1, 3, 0]])
# 方式二
>>> (a + abs(a)) / 2
array([[0, 0, 0, 2, 1],
  [0, 0, 0, 3, 3],
  [0, 0, 3, 0, 3],
  [0, 0, 0, 1, 0],
  [0, 3, 1, 3, 0]])
# 方式三
>>> b = a.copy()
>>> b[b < 0] = 0
>>> b
array([[0, 0, 0, 2, 1],
  [0, 0, 0, 3, 3],
  [0, 0, 3, 0, 3],
  [0, 0, 0, 1, 0],
  [0, 3, 1, 3, 0]])
# 方式四
>>> np.where(a > 0, a, 0)
array([[0, 0, 0, 2, 1],
  [0, 0, 0, 3, 3],
  [0, 0, 3, 0, 3],
  [0, 0, 0, 1, 0],
  [0, 3, 1, 3, 0]])

以上这篇在numpy矩阵中令小于0的元素改为0的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python网络编程之多线程同时接受和发送

本文实例为大家分享了python多线程同时接受和发的具体代码,供大家参考,具体内容如下 ''' 模仿qq 同时可以发送信息和接受信息多线程 ''' from socket imp...

详解python实现线程安全的单例模式

单例模式是一种常见的设计模式,该模式的主要目的是确保某一个类只有一个实例存在。当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场。 比如,服务器的配置信息写在一个文件中...

Python 保存矩阵为Excel的实现方法

如下所示: def save(data, path): f = xlwt.Workbook() # 创建工作簿 sheet1 = f.add_sheet(u'sheet1',...

python解析文件示例

python最近的工作主要是组件兼容性测试,原有的框架有很多功能还不完善,需要补充!比如,需要将AutoIt脚本的执行结果写入到Excel中,最后的解决方案是使用本地的log来解析这个结...

python3.5 cv2 获取视频特定帧生成jpg图片

python3.5 cv2 获取视频特定帧生成jpg图片

假如文件夹有大量视频文件,需求目标是想从每个视频中提取一帧作为视频的一个封面图片,本文利用opencv-python模块实现需求。结合自己的工作,做一下简单的记录,原本想生成可传参数的e...