Есть ли клочковый API для преобразования и преобразования плоских рядов в двумерный массив? - PullRequest
0 голосов
/ 15 декабря 2018

Предположим, у меня есть двумерный массив положительных целых чисел:

[[1, 3]
 [2, 7]]

, и к каждому элементу я хотел бы применить функцию, которая преобразует его в последовательность целых чисел, давая мне:

[[[0,0,1],[0,1,1]]
 [[0,1,0],[1,1,1]]]

, который я хотел бы затем упорядочить по строкам до:

[[0, 0, 1, 0, 1, 1]
 [0, 1, 0, 1, 1, 1]]

Я знаю, что это можно сделать шаг за шагом, но, возможно, есть более эффективный, как память, так иМудрый процессор Numpy / SciPy для процессоров, как описано выше?Спасибо!

1 Ответ

0 голосов
/ 15 декабря 2018

Я пришел с этим, но в моей книге это далеко не изящно и лаконично:

def fn(x):
    return np.array([int(c) for c in '{0:08b}'.format(x)])
F = np.frompyfunc(fn, 1, 1)

a = np.arange(6).reshape((2, 3))

np.vstack(np.hstack(F(a))).reshape((2, 24))

Действительно трудно понять, что нет более простого способа, чем frompyfunc и все вместе hstack& vstack

...