小编Gri*_*ory的帖子

每行的Bin元素 - NumPy的矢量化2D Bincount

我有一个带整数值的NumPy数组.矩阵的值在矩阵中从0到最大元素(换句话说,在其中呈现的从0到最大数据元素的所有数字).我需要构建有效(有效的快速全矢量化解决方案)来搜索每行中的元素数量,并根据矩阵值对其进行编码.

我找不到类似的问题,或者以某种方式帮助解决这个问题的问题.

所以,如果我有这个data输入:

# shape is (N0=4, m0=4) 
1   1   0   4
2   4   2   1
1   2   3   5
4   4   4   1
Run Code Online (Sandbox Code Playgroud)

期望的输出是:

# shape(N=N0, m=data.max()+1):
1   2   0   0   1   0
0   1   2   0   1   0
0   1   1   1   0   1
0   1   0   0   3   0
Run Code Online (Sandbox Code Playgroud)

我知道如何通过简单地计算逐行data 迭代的每一行中的唯一值来解决这个问题,然后结合考虑到data数组中所有可能值的结果.

在使用NumPy进行矢量化时,关键问题是逐个搜索每个数字很慢并且假设有很多唯一数字,这不是有效的解决方案.通常,两者N和唯一数字计数相当大(顺便说一下,N似乎比唯一数字计数大).

有人有好主意吗?)

python performance numpy matrix vectorization

7
推荐指数
1
解决办法
729
查看次数

标签 统计

matrix ×1

numpy ×1

performance ×1

python ×1

vectorization ×1