首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将numpy数组值从零更改为-1

将numpy数组值从零更改为-1
EN

Stack Overflow用户
提问于 2017-03-18 22:57:16
回答 1查看 231关注 0票数 2

我有一个由随机排列的1和0组成的numpy数组。

代码语言:javascript
运行
复制
numpy.array([[0,1,1],[1,0,0]]) 

如何在不更改1的情况下将0更改为-1?

EN

回答 1

Stack Overflow用户

发布于 2017-03-18 23:36:18

正如在the comments中已经指出的,基本上有两种方法可以替换这些值。使用boolean array indexing就地更改这些值:

代码语言:javascript
运行
复制
>>> import numpy as np
>>> arr = np.array([[0,1,1],[1,0,0]])
>>> arr[arr==0] = -1
>>> arr 
array([[-1,  1,  1],
       [ 1, -1, -1]])

您可能希望检查arr == 0 (创建掩码)和arr[arr == 0] (仅获取掩码为True的数组的值,在本例中值为0)的中间步骤,以了解发生了什么。

或者,如果您想要创建一个数组的副本,并替换这些值,则可以使用np.where

代码语言:javascript
运行
复制
>>> np.where(arr==0, -1, arr)
array([[-1,  1,  1],
       [ 1, -1, -1]])

这将创建一个新数组,并在条件(第一个参数)为True的地方使用第二个参数,否则使用第二个参数项。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42875900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档