ufunc を使用して、N * 1 numpy 配列の int を N * 3 numpy 配列の float に効率的にマップしようとしています。
私がこれまでに持っているもの:
map = {1: (0, 0, 0), 2: (0.5, 0.5, 0.5), 3: (1, 1, 1)}
ufunc = numpy.frompyfunc(lambda x: numpy.array(map[x], numpy.float32), 1, 1)
input = numpy.array([1, 2, 3], numpy.int32)
ufunc(input)
dtype オブジェクトを含む 3 * 3 配列を返します。この配列が欲しいのですが、dtypeはfloat32です。