对numpy中的where方法嵌套使用详解


Posted in Python onOctober 31, 2018

如同for循环一样,numpy中的where方法可以实现嵌套功能。这是简化嵌套式矩阵逻辑的一个很好的方法。

假设有一个矩阵,需要把小于0的元素改成-1,大于0的元素改成1,而等于0的时候不做修改。

那么,对应的代码示范如下:

#!/usr/bin/python
 
import numpy as np
 
data = np.random.randn(4,5)
data1 =np.where(data > 0,1,
np.where(data <0,-1,0))
print("datavalue:")
print(data)
print("data1value:")
print(data1)

程序的执行结果如下:

In [3]: %runpython_exp04.py

data value:

[[-2.06262429 0.94548656 -0.29458562 0.82657 -1.08587439]
 [-0.67416161 0.77247191 0.60330603 0.73694198 -0.63761278]
 [ 0.24887356 -0.27086027 0.34312363 0.727303 0.72741593]
 [-0.48973095 -0.33185631 -1.23341695 0.13569267 2.06881178]]

data1 value:

[[-1 1 -1 1-1]
 [-1 1 1 1 -1]
 [ 1 -1 1 1 1]
 [-1 -1 -1 1 1]]

这种用法,不仅比单纯通过复合的循环遍历实现的代码更加简洁,而且在执行效率上有着很大的优势。很多时候,计算的向量化就是为了能够加速整个程序的执行速度。

以上这篇对numpy中的where方法嵌套使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
基于python的七种经典排序算法(推荐)
Dec 08 Python
Python IDLE入门简介
Dec 08 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
Jan 29 Python
Numpy数组转置的两种实现方法
Apr 17 Python
python中pip的安装与使用教程
Aug 10 Python
tensorflow实现逻辑回归模型
Sep 08 Python
利用python实现汉字转拼音的2种方法
Aug 12 Python
Python银行系统实战源码
Oct 25 Python
对python pandas中 inplace 参数的理解
Jun 27 Python
PyTorch预训练Bert模型的示例
Nov 17 Python
在Ubuntu中安装并配置Pycharm教程的实现方法
Jan 06 Python
教你用Python写一个植物大战僵尸小游戏
Apr 25 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 #Python
在ubuntu16.04中将python3设置为默认的命令写法
Oct 31 #Python
设置python3为默认python的方法
Oct 31 #Python
在双python下设置python3为默认的方法
Oct 31 #Python
利用Python将文本中的中英文分离方法
Oct 31 #Python
python list格式数据excel导出方法
Oct 31 #Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
Oct 31 #Python
You might like
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
禁止iframe页面的所有js脚本如alert及弹出窗口等
2014/09/03 Javascript
sails框架的学习指南
2014/12/22 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
canvas红包照片实例分享
2017/02/28 Javascript
详解使用JS如何制作简单的ASCII图与单极图
2017/03/31 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
微信小程序中页面FOR循环和嵌套循环
2017/06/21 Javascript
Vue导出json数据到Excel电子表格的示例
2017/12/04 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
iview实现图片上传功能
2020/06/29 Javascript
Vue实现穿梭框效果
2020/09/30 Javascript
vue 项目@change多个参数传值多个事件的操作
2021/01/29 Vue.js
Python执行时间的计算方法小结
2017/03/17 Python
python简单实例训练(21~30)
2017/11/15 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
Python3实现腾讯云OCR识别
2018/11/27 Python
python实现简单flappy bird
2018/12/24 Python
浅析Python __name__ 是什么
2020/07/07 Python
利用CSS3的transform做的动态时钟效果
2011/09/21 HTML / CSS
Canvas中设置width与height的问题浅析
2018/11/01 HTML / CSS
医学生自荐信范文
2013/12/03 职场文书
工程专业应届生求职信
2014/02/19 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
机关作风建设剖析材料
2014/10/11 职场文书
导游词之无锡东林书院
2019/12/11 职场文书
Nginx搭建rtmp直播服务器实现代码
2021/03/31 Servers
react 项目中引入图片的几种方式
2021/06/02 Javascript
CSS实现单选折叠菜单功能
2021/11/01 HTML / CSS
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫