jgi*_*ist 3 python numpy matrix scipy
我目前有一个数组中最小值的索引数组.
它看起来像这样:
[[0],
[1],
[2],
[1],
[0]]
Run Code Online (Sandbox Code Playgroud)
(最大指数为3)
我想要的是一个如下所示的数组:
[[1, 0, 0]
[0, 1, 0]
[0, 0, 1]
[0, 1, 0]
[1, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
1在最小列中.
在numpy中有一个简单的方法吗?
使用NumPy的广播==:
>>> minima = np.array([[0], [1], [2], [1], [0]])
>>> minima == arange(minima.max() + 1)
array([[ True, False, False],
[False, True, False],
[False, False, True],
[False, True, False],
[ True, False, False]], dtype=bool)
>>> (minima == arange(minima.max() + 1)).astype(int)
array([[1, 0, 0],
[0, 1, 0],
[0, 0, 1],
[0, 1, 0],
[1, 0, 0]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
51 次 |
| 最近记录: |