对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 相关文章推荐
Python2.x中文乱码问题解决方法
Jun 02 Python
Python中线程编程之threading模块的使用详解
Jun 23 Python
Python中的集合介绍
Jan 28 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
Python程序打包工具py2exe和PyInstaller详解
Jun 28 Python
Pandas之排序函数sort_values()的实现
Jul 09 Python
Python selenium的基本使用方法分析
Dec 21 Python
Python模块的定义,模块的导入,__name__用法实例分析
Jan 07 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
python将logging模块封装成单独模块并实现动态切换Level方式
May 12 Python
Python检测端口IP字符串是否合法
Jun 05 Python
Pandas实现DataFrame的简单运算、统计与排序
Mar 31 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实现短信发送代码
2015/07/05 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
Locate a File Using a File Open Dialog Box
2007/06/18 Javascript
Firefox下提示illegal character并出现乱码的原因
2010/03/25 Javascript
js事件绑定快捷键以ctrl+k为例
2014/09/30 Javascript
基于JavaScript实现智能右键菜单
2016/03/02 Javascript
通过Tabs方法基于easyUI+bootstrap制作工作站
2016/03/28 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
2017/10/26 Javascript
vue中如何使用ztree
2018/02/06 Javascript
vue裁切预览组件功能的实现步骤
2018/05/04 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
vue element 生成无线级左侧菜单的实现代码
2019/08/21 Javascript
Vue函数式组件的应用实例详解
2019/08/30 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
django之常用命令详解
2016/06/30 Python
python读写json文件的简单实现
2017/04/11 Python
Python 的类、继承和多态详解
2017/07/16 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
2018/01/11 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Python 3.8新特征之asyncio REPL
2019/05/28 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
python smtplib发送多个email联系人的实现
2020/10/09 Python
python3.9实现pyinstaller打包python文件成exe
2020/12/13 Python
matplotlib绘制多子图共享鼠标光标的方法示例
2021/01/08 Python
CSS3弹性盒模型flex box快速入门心得(必看篇)
2016/05/24 HTML / CSS
美国豪华的多品牌精品店:The Webster
2019/07/31 全球购物
逻辑链路控制协议
2016/10/01 面试题
《走一步再走一步》教学反思
2014/02/15 职场文书
市级优秀班主任事迹材料
2014/05/13 职场文书
法定代表人资格证明书
2015/06/18 职场文书