numpy - 以元组为键向量化字典中的数组
问题描述
这是一个非常简单的任务,但不知何故,我似乎无法弄清楚。
假设我有一本字典
dictr = {(0,1,2): 0, (5,4,2):1}
还有一个数组:
A = [[0, 1, 2], [5, 4, 2]]
我正在寻找一个数组 b = [0, 1]
我认为我们可以通过以下方式做到这一点:
B = np.vectorize(dictr.get)(A)
但是,这是行不通的。有谁知道为什么?
解决方案
问题在于,它dictr.get
是针对 A 的元素调用的,而不是针对 A 的行。它调用dictr.get(A[0,0])
, nextdictr.get(A[0,1])
等等。的每个元素A
都是字典中不存在的标量,因此np.vectorize
回退到None
. 这就是为什么你得到 2x3 数组的原因None
。
推荐阅读
- sql - DB2 11.1 - 取消透视表并根据条件选择值
- flutter - 如果登录,则颤振用户重定向
- angular - *ngIf 重新出现按钮后,Angular sidenav.toggle() 不起作用
- python - 熊猫获得每组最小列值的行
- excel - Reference Pivot table filter
- php - How do I debug the move_upload_file() function when there's no clear reason for failure?
- java - VS Code Java 调试器冻结在某些代码行
- javascript - how to access row numbet of input box javascript
- database - Database Model Design With Laravel Eloquent
- java - Java Bean 可以包含一个或多个参数化构造函数吗?