Взагалі, ви можете об'єднати цілу послідовність масивів уздовж будь-якої осі:
numpy.concatenate( LIST, axis=0 )
але ви дійсно повинні турбуватися про форму і розмірність кожного масиву в списку (для 2-мірного виходу 3х5, вам необхідно переконатися , що всі вони є 2-мірні масиви п-по-5 вже). Якщо ви хочете об’єднати одновимірні масиви як рядки двовимірного виводу, вам потрібно розширити їх розмірність.
Як вказує відповідь Хорхе, існує також функція stack, введена в numpy 1.10:
numpy.stack( LIST, axis=0 )
Для цього застосовується додатковий підхід: він створює новий вигляд кожного вхідного масиву і додає додатковий вимір (у цьому випадку ліворуч, тому кожен n1-елементний масив стає 1-на- n2D масивом) перед об'єднанням. Це буде працювати лише в тому випадку, якщо всі вхідні масиви мають однакову форму - навіть вздовж осі об'єднання.
vstack(або еквівалентно row_stack) часто є більш простим у використанні рішенням, оскільки воно буде приймати послідовність 1- та / або двовимірних масивів і автоматично розширювати розмірність там, де це необхідно і лише там, де це необхідно, перш ніж об’єднати весь список разом. Там, де потрібен новий вимір, він додається зліва. Знову ж таки, ви можете об’єднати цілий список відразу, не потребуючи ітерації:
numpy.vstack( LIST )
Цю гнучку поведінку демонструє також синтаксичний ярлик numpy.r_[ array1, ...., arrayN ](зверніть увагу на квадратні дужки). Це добре для об'єднання декількох явно названих масивів, але не годиться для вашої ситуації, оскільки цей синтаксис не прийме послідовності масивів, як ваш LIST.
Існує також аналогічна функція column_stackта ярлик c_[...]для горизонтального (по стовпцях) укладання, а також майже -аналогічна функція hstack- хоча остання з якихось причин менш гнучка (вона суворіша щодо розмірності вхідних масивів і намагається об'єднати 1-D масиви наскрізні, замість того, щоб розглядати їх як стовпці).
Нарешті, у конкретному випадку вертикального укладання одновимірних масивів також працює наступне:
numpy.array( LIST )
... тому що масиви можуть бути побудовані з послідовності інших масивів, додаючи новий вимір на початок.
LIST = [[array([1, 2, 3, 4, 5]), array([1, 2, 3, 4, 5],[1,2,3,4,5])]це неправильний синтаксис python. Поясніть будь ласка.