У меня есть эта функция, которая добавляет в матрицу вектор-столбец единиц.
def add_ones(x):
return np.hstack((np.ones((x.shape[0], 1)), x))
, когда x - это матрица, она отлично работает.Например:
x = np.array([[1, 2], [3, 4]])
y = np.zeros((5, 5))
add_ones(x)
add_ones(y)
дает
[[1. 1. 2.]
[1. 3. 4.]]
[[1. 0. 0. 0. 0. 0.]
[1. 0. 0. 0. 0. 0.]
[1. 0. 0. 0. 0. 0.]
[1. 0. 0. 0. 0. 0.]
[1. 0. 0. 0. 0. 0.]]
, однако, когда я передаю ему один вектор:
z = np.zeros(5)
add_ones(z)
это выдает эту ошибку:
ValueError: all the input arrays must have same number of dimensions
Я бы хотел, чтобы он вернулся
[1. 0. 0. 0. 0. 0.]
что мне делать?