小编Gau*_*ngh的帖子

Numpy温度计编码

我正在尝试使用 numpy 优化的内置函数来生成温度计编码。如果给定长度为 1,则温度计编码基本上会生成n量。例如在 8-length 中,3 将被编码为:

1 1 1 0 0 0 0 0
Run Code Online (Sandbox Code Playgroud)

使用 numpy 基于整数输入生成该向量基本上是切片和设置 1。

stream[:num_ones] = 1
Run Code Online (Sandbox Code Playgroud)

所以我的问题是一个向量作为输入,例如生成矩阵输出的最佳方法是什么:

[2 3 4 1]
Run Code Online (Sandbox Code Playgroud)

作为输入应该产生:

[[1 1 0 0 0 0 0 0],
 [1 1 1 0 0 0 0 0],
 [1 1 1 1 0 0 0 0],
 [1 0 0 0 0 0 0 0]]
Run Code Online (Sandbox Code Playgroud)

我当前的解决方案是迭代所需大小的零矩阵,并使用我上面写的切片方法将所需的元素数设置为 1。我有没有更快的方法来做到这一点?

python numpy

5
推荐指数
1
解决办法
841
查看次数

标签 统计

numpy ×1

python ×1