Nic*_*k D 3 python arrays numpy
我有一个包含 x,y 坐标对的元组列表。我希望将列表转换为矩阵,xy 坐标表示使用 numpy 而不使用循环的矩阵索引。
对于列表中存在的任何 xy 坐标,在相应的索引位置有一个 1,对于列表中不存在的任何值都有一个 0。
原列表:
a = [(0,0),(0,2),(0,3),(0,4),
(1,1),(1,2),(1,4),(2,2),
(3,2),(3,4), (4,4)]
a
Run Code Online (Sandbox Code Playgroud)
所需输出:维度数组 (5,5)
[
[1, 1, 0, 1, 1],
[1, 0, 0, 0, 0],
[1, 1, 1, 1, 0],
[0, 1, 0, 0, 0],
[1, 0, 0, 0, 0]
]
Run Code Online (Sandbox Code Playgroud)
类似于python - numpy 从索引列表创建 2D 掩码 + 然后从掩码数组中绘制 - 堆栈溢出但不使用 scipy。
使用numpy.add.at和numpy.rot90:
import numpy as np
res = np.zeros((5,5))
np.add.at(res, tuple(zip(*a)), 1)
np.rot90(res)
array([[1., 1., 0., 1., 1.],
[1., 0., 0., 0., 0.],
[1., 1., 1., 1., 0.],
[0., 1., 0., 0., 0.],
[1., 0., 0., 0., 0.]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2136 次 |
| 最近记录: |