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

yipeiwu_com7年前Python基础

如同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设计】。

相关文章

Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)

本文实例讲述了Python3的urllib.parse常用函数。分享给大家供大家参考,具体如下: 1、获取url参数 >>> from urllib import...

Python的Django框架中的Context使用

一旦你创建一个 Template 对象,你可以用 context 来传递数据给它。 一个context是一系列变量和它们值的集合。 context在Django里表现为 Context...

用pandas按列合并两个文件的实例

用pandas按列合并两个文件的实例

直接上图,图文并茂,相信你很快就知道要干什么。 A文件: B文件: 可以发现,A文件中“汉字井号”这一列和B文件中“WELL”这一列的属性相同,以这一列为主键,把B文件中“TIME”...

Django 中自定义 Admin 样式与功能的实现方法

Django 中自定义 Admin 样式与功能的实现方法

自定义 Admin 样式与功能 1 页面修改中文 1.1 语言设置为中文 settings.py LANGUAGE_CODE = 'zh-hans' 修改结果 1.2 应用管理设置为...

Python编程实现使用线性回归预测数据

Python编程实现使用线性回归预测数据

本文中,我们将进行大量的编程——但在这之前,我们先介绍一下我们今天要解决的实例问题。 1) 预测房子价格 房价大概是我们中国每一个普通老百姓比较关心的问题,最近几年保障啊,小编这点微末...