Что numpy.concatenate делает с одним аргументом?

#python #list #numpy

#python #Список #numpy

Вопрос:

Я читал о конкатенации. Но не видел, чтобы функция принимала один список в качестве входных данных.Он должен иметь два списка в качестве входных данных.

Рассмотрим следующий оператор в программе, которую я хочу выполнить

строка = np.concatenate(строка, 1)

Что здесь делает concatenate? Он принимает только один список с именем row.

Комментарии:

1. Первый аргумент — это sequence , (a1, a2, ...) . Это один список, кортеж или даже массив (рассматриваемый как список массивов)

Ответ №1:

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

 c = np.concatenate([a, b])
  

но вы, конечно, также можете сделать:

 ab = [a, b]
c = np.concatenate(ab)
  

Посмотрите на row до и после объединения, чтобы увидеть, что происходит.

Ответ №2:

Предполагается, что первый аргумент np.concatenate представляет собой последовательность объектов (например, векторов или матриц). Второй аргумент — это ось, вдоль которой должна выполняться конкатенация. Смотрите help(np.concatenate) полную строку документа.

Чтобы ваша команда была действительной, объекты в row последовательности должны иметь как минимум 0-е и 1-е измерения. Обычно это была бы матрица, но название row указывает на набор векторов строк, которые имеют размерность [0, d] .

Если вы объедините n векторы формы [0, d] вдоль 1-го измерения, это приведет к объекту формы [0, n*d] . Это очень длинный вектор строк.