#python #numpy
#python #numpy
Вопрос:
Мне интересно, как использовать np.reshape для преобразования длинного вектора в массив из n столбцов без указания номеров строк.
Обычно я могу узнать номер строки по len(a)//n
:
a = np.arange(0, 10)
n = 2
b = a.reshape(len(a)//n,n)
Если есть более прямой способ без использования len(a)//n
?
Ответ №1:
Вы можете использовать -1 для одного измерения, numpy определит, каким должно быть это число:
a = np.arange(0, 10)
n = 2
b = a.reshape(-1, n)
Документ довольно четко описывает эту функцию:https://docs.scipy.org/doc/numpy/reference/generated/numpy.reshape.html
Одно измерение формы может быть равно -1. В этом случае значение выводится из длины массива и оставшихся размеров.