我想知道是否有一种 numpy 方法可以使用多个轴执行以下操作:
所需输入:
np.array([[1,2,3],
[4,5,5]])
所需输出:
np.array([[0,1,1,1,0,0],
[0,0,0,0,1,2]])
第二个数组第二行中的 2 表示第一个数组第二行中存在 2 个 5。
如果没有,我就必须迭代。
假设
a
输入并使用广播:
out = (a[...,None] == np.arange(np.max(a)+1)).sum(axis=1)
输出:
array([[0, 1, 1, 1, 0, 0],
[0, 0, 0, 0, 1, 2]])