首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从数组创建numpy布尔型数组的有效方法

从数组创建numpy布尔型数组的有效方法
EN

Stack Overflow用户
提问于 2018-05-25 09:24:01
回答 4查看 269关注 0票数 0

我正在尝试转换numpy数组

 np.array([1,3,2]) 

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

你知道如何有效地做到这一点吗?谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-05-25 09:53:48

创建一个布尔数组,然后填充它:

import numpy as np
a = np.array([1, 2, 3, 0, 3, 2, 1])
b = np.zeros((len(a), a.max() + 1), bool)
b[np.arange(len(a)), a] = 1
票数 1
EN

Stack Overflow用户

发布于 2018-05-25 10:34:29

尝试pandas的get dummy方法。

import pandas as pd
import numpy as np
arr = np.array([1 ,3, 2])
df = pd.get_dummies(arr)

如果您需要的是numpy数组对象,请执行以下操作:

arr2 = df.values
票数 0
EN

Stack Overflow用户

发布于 2018-05-25 11:18:29

也可以仅从np.eye或单位矩阵中选择正确的值:

a =  np.array([1,3,2]) 
b = np.eye(max(a))[a-1]

这可能是最直接的。

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

https://stackoverflow.com/questions/50520215

复制
相关文章

相似问题

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