加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何将numpy数组中的所有值替换为零,除了一个特定值?

发布时间:2020-12-20 13:02:43 所属栏目:Python 来源:网络整理
导读:我有一个2D numpy数组,其中包含’n’个唯一值. 我想生成一个二进制矩阵,其中所有值都替换为 ‘zero’和我指定的值被指定为’one’. 例如,我有一个如下数组,我想要所有实例 35被指定为’one’: array([[12,35,12,26],[35,26]]) 我想获得以下输出: array([[0
我有一个2D numpy数组,其中包含’n’个唯一值.
我想生成一个二进制矩阵,其中所有值都替换为
‘zero’和我指定的值被指定为’one’.

例如,我有一个如下数组,我想要所有实例
35被指定为’one’:

array([[12,35,12,26],[35,26]])

我想获得以下输出:

array([[0,1,0],[1,0]])

在Python中最有效的方法是什么?

解决方法

import numpy as np
x = np.array([[12,26]])
(x == 35).astype(int)

会给你:

array([[0,0]])

numpy中的==运算符执行逐元素比较,当将布尔值转换为整数时,True编码为1,False编码为0.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读