#python #arrays #numpy #append
#python #массивы #numpy #добавить
Вопрос:
Допустим, у меня есть три таких массива:
Total = [], A = [1,2,3]
и B = [4,5,6]
.
Когда я использую Total = np.append(Total,A)
, это дает мне: [1,2,3]
И когда я использую Total = np.append(Total,B)
, это дает мне: [1,2,3,4,5,6]
Что я хочу после второго добавления, так это: Total = [[1,2,3],[4,5,6]]
.
Комментарии:
1.
np.vstack((A, B))
Делает то, что вам нужно?2. @JonClements Нет, потому что размеры не совпадают.
3. Ну, что они делают в вашем примере? Не могли бы вы предоставить реальный вариант использования, в котором они этого не делают, и какой результат вы ожидаете от 2D-массива, размеры которого не совпадают?
4. Похоже, что вы здесь не используете numpy и просто хотите
total = [A, B]
?5. Не используйте
np.appwnd
, не прочитав его документы. А еще лучше не используйте его вообще. И неstack
делайте это итеративно.vstack
список всех элементов один раз.
Ответ №1:
Почему бы просто не сложить их?
A = [1,2,3]
B = [4,5,6]
Total = np.vstack((A,B))
print(Total)
ВЫВОД:
[[1 2 3]
[4 5 6]]
или
просто добавьте списки:
T = [A] [B]
print(T)
ВЫВОД:
[[1, 2, 3], [4, 5, 6]]
Ответ №2:
Вы можете сделать это несколькими способами:
import numpy as np
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
np.vstack([a, b])
np.stack([a, b], axis=0)
np.c_[a, b].T
np.concatenate([a[np.newaxis], b[np.newaxis]])