我正在尝试使用 ufunc 有效地将 N * 1 numpy 整数数组映射到 N * 3 numpy 浮点数组。
到目前为止我所拥有的:
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。