HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Объединение данных в единую структуру - это операция, с которой сталкиваются при поступлении данных. С помощью нее мы можем объединять данные из разных источников, а также асинхронные ответы сервера и результаты параллельных и последовательных вычислений. В стандартном Python есть структуры данных list и set. Их можно объединять с помощью append() и update(). Еще можно использовать функцию zip() - она нужна для попарного объединения значений. В Numpy это работает по-другому.</p>
1 <p>Объединение данных в единую структуру - это операция, с которой сталкиваются при поступлении данных. С помощью нее мы можем объединять данные из разных источников, а также асинхронные ответы сервера и результаты параллельных и последовательных вычислений. В стандартном Python есть структуры данных list и set. Их можно объединять с помощью append() и update(). Еще можно использовать функцию zip() - она нужна для попарного объединения значений. В Numpy это работает по-другому.</p>
2 <p>Массивы numpy.ndarray поддерживают сценарии объединения массивов различной размерности по разным осям индексов. Для этого используются четыре метода:</p>
2 <p>Массивы numpy.ndarray поддерживают сценарии объединения массивов различной размерности по разным осям индексов. Для этого используются четыре метода:</p>
3 <ul><li>Конкатенация - concatenate()</li>
3 <ul><li>Конкатенация - concatenate()</li>
4 <li>Объединение массивов по горизонтали - hstack()</li>
4 <li>Объединение массивов по горизонтали - hstack()</li>
5 <li>Объединение массивов по вертикали - vstack()</li>
5 <li>Объединение массивов по вертикали - vstack()</li>
6 <li>Попарное объединение элементов списков - column_stack()</li>
6 <li>Попарное объединение элементов списков - column_stack()</li>
7 </ul><p>В этом уроке мы рассмотрим правила их применения и узнаем, какие нюансы нужно учитывать в работе с ними.</p>
7 </ul><p>В этом уроке мы рассмотрим правила их применения и узнаем, какие нюансы нужно учитывать в работе с ними.</p>
8 <h2>Одномерные структуры данных</h2>
8 <h2>Одномерные структуры данных</h2>
9 <p>Начнем с одномерных структур данных, потому что они встречаются чаще всего.</p>
9 <p>Начнем с одномерных структур данных, потому что они встречаются чаще всего.</p>
10 <p>Объединение списков значений в Python делаются операцией +. В Numpy ту же роль выполняют методы concatenate() и hstack():</p>
10 <p>Объединение списков значений в Python делаются операцией +. В Numpy ту же роль выполняют методы concatenate() и hstack():</p>
11 <p>Обратите внимание, что в примере выше мы объединили массивы по горизонтали. Для этого мы использовали метод hstack() (сокращение от английского<em>horisontal stack</em>).</p>
11 <p>Обратите внимание, что в примере выше мы объединили массивы по горизонтали. Для этого мы использовали метод hstack() (сокращение от английского<em>horisontal stack</em>).</p>
12 <p>А теперь попробуем объединить массивы в вертикальном направлении. Здесь понадобится метод vstack() (от англ.<em>vertical stack</em>). Для вертикального объединения также подойдет инициализация нового массива из списка исходных массивов. Этот подход аналогичен формированию списка списков:</p>
12 <p>А теперь попробуем объединить массивы в вертикальном направлении. Здесь понадобится метод vstack() (от англ.<em>vertical stack</em>). Для вертикального объединения также подойдет инициализация нового массива из списка исходных массивов. Этот подход аналогичен формированию списка списков:</p>
13 <p>Еще одна удобная и распространенная операция - попарное объединение элементов списков. Как уже говорили, в стандартном Python для этой цели используется метод zip().</p>
13 <p>Еще одна удобная и распространенная операция - попарное объединение элементов списков. Как уже говорили, в стандартном Python для этой цели используется метод zip().</p>
14 <p>В Numpy используется аналог - метод column_stack():</p>
14 <p>В Numpy используется аналог - метод column_stack():</p>
15 <p>В итоге мы рассмотрели все четыре метода и выяснили, как они работают для одномерных массивов. Эти же знания применимы и к массивам с большей размерностью.</p>
15 <p>В итоге мы рассмотрели все четыре метода и выяснили, как они работают для одномерных массивов. Эти же знания применимы и к массивам с большей размерностью.</p>
16 <h2>Двумерные структуры данных</h2>
16 <h2>Двумерные структуры данных</h2>
17 <p>Попробуем объединить двумерные структуры - матрицы. Это можно сделать в двух направлениях.</p>
17 <p>Попробуем объединить двумерные структуры - матрицы. Это можно сделать в двух направлениях.</p>
18 <p>В этом примере мы объединим данные по вертикали:</p>
18 <p>В этом примере мы объединим данные по вертикали:</p>
19 <p>Также можно объединять данные по горизонтали:</p>
19 <p>Также можно объединять данные по горизонтали:</p>
20 <p>Все примеры выше демонстрировали объединение двух массивов. Однако массивов может быть больше.</p>
20 <p>Все примеры выше демонстрировали объединение двух массивов. Однако массивов может быть больше.</p>
21 <h2>Многомерные структуры данных</h2>
21 <h2>Многомерные структуры данных</h2>
22 <p>Предположим, что в результате асинхронных запросов к серверу было получено три списка значений для трех дней продаж магазина. Чтобы объединить ответы сервера в единую таблицу, можно использовать все те же методы:</p>
22 <p>Предположим, что в результате асинхронных запросов к серверу было получено три списка значений для трех дней продаж магазина. Чтобы объединить ответы сервера в единую таблицу, можно использовать все те же методы:</p>
23 <p>Запросы к серверу могут быть не по дням, а по магазинам. В этом случае также применимы методы объединения:</p>
23 <p>Запросы к серверу могут быть не по дням, а по магазинам. В этом случае также применимы методы объединения:</p>
24 <p>В примере выше используется<strong>транспонирование матрицы</strong>. Результат транспонирования - это матрица, в которой столбцы исходной таблицы становятся строками.</p>
24 <p>В примере выше используется<strong>транспонирование матрицы</strong>. Результат транспонирования - это матрица, в которой столбцы исходной таблицы становятся строками.</p>
25 <p>Посмотрим на исходную матрицу:</p>
25 <p>Посмотрим на исходную матрицу:</p>
26 <p>А теперь сравним ее с транспонированной:</p>
26 <p>А теперь сравним ее с транспонированной:</p>
27 <h2>Выводы</h2>
27 <h2>Выводы</h2>
28 <p>В этом уроке мы рассмотрели методы объединения массивов numpy.ndarray. Все методы работают для данных с разной размерностью: одномерными, двумерными и многомерными. При этом на вход методы могут получать любое количество массивов.</p>
28 <p>В этом уроке мы рассмотрели методы объединения массивов numpy.ndarray. Все методы работают для данных с разной размерностью: одномерными, двумерными и многомерными. При этом на вход методы могут получать любое количество массивов.</p>
29 <p>Чтобы выбрать правильный метод объединения, проговорите про себя, что нужно сделать:</p>
29 <p>Чтобы выбрать правильный метод объединения, проговорите про себя, что нужно сделать:</p>
30 <ul><li>Если горизонтально состыковать массивы, используем hstack()</li>
30 <ul><li>Если горизонтально состыковать массивы, используем hstack()</li>
31 <li>Если вертикально состыковать массивы, используем vstack()</li>
31 <li>Если вертикально состыковать массивы, используем vstack()</li>
32 <li>Если объединить значений поэлементно из нескольких колонок, используем column_stack()</li>
32 <li>Если объединить значений поэлементно из нескольких колонок, используем column_stack()</li>
33 </ul>
33 </ul>