numpy ndarray: работа с массивами в библиотеке NumPy
<p>NumPy ndarray (N-dimensional array) — основной объект в библиотеке NumPy для работы с массивами. Он представляет собой многомерные контейнеры для данных одного и того же типа, позволяющие выполнять эффективные операции над этими данными.</p>
<p>Основные характеристики ndarray:</p>
<ol>
<li>Многомерность: ndarray может иметь любое количество осей (измерений), от одной до многих. Это позволяет представлять данные в виде таблиц, матриц, тензоров и т.д.</li>
<li>Единый тип данных: все элементы в ndarray должны иметь один и тот же тип данных. Это обеспечивает эффективное использование памяти и ускоряет операции над массивами. Тип данных может быть, например, int, float, bool или пользовательский.</li>
<li>Фиксированный размер: размерность массива определяется в момент создания и не меняется. Также массивы в NumPy являются статическими, то есть размер не может быть изменен после создания. Если нужен массив переменной длины, можно использовать списки.</li>
</ol>
<p>Примеры кода:</p>
<pre><code><span class="hljs-keyword import">import</span> numpy <span class="hljs-keyword as">as</span> np
# создание одномерного массива
arr1d = np.array([1, 2, 3, 4, 5])
# создание двумерного массива
arr2d = np.array([[1, 2, 3], [4, 5, 6]])
# создание массива заданной размерности с нулями
zeros = np.zeros((3, 3))
# создание массива заданной размерности с единицами
ones = np.ones((2, 2))
</code></pre>
<p>Индексация и доступ к элементам:</p>
<pre><code><span class="hljs-comment"># доступ к элементам по индексам
print(arr1d[0]) # выводит 1
print(arr2d[1, 2]) # выводит 6# срезы массивов
print(arr1d[1:4]) # выводит [2, 3, 4]
print(arr2d[:, 1]) # выводит [2, 5] - все значения второй колонки
</code></pre>
<p>Операции над массивами:</p>
<pre><code><span class="hljs-comment"># математические операции над массивами
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
sum_arr = arr1 + arr2 # сумма двух массивов поэлементно# логические операции над массивами
arr3 = np.array([True, True, False])
arr4 = np.array([True, False, False])
logical_and = np.logical_and(arr3, arr4) # логическое И# статистические операции над массивами
mean = np.mean(arr1) # среднее значение массива
max_value = np.max(arr2) # максимальное значение массива
</code></pre>
<p>Функции и методы для работы с массивами:</p>
<pre><code><span class="hljs-comment"># изменение формы массива
reshape_arr = np.reshape(arr1d, (2, 3)) # изменение одномерного массива в двумерный# транспонирование массива
transpose_arr = np.transpose(arr2d) # транспонирование двумерного массива# сортировка массива
sort_arr = np.sort(arr1d) # сортировка одномерного массива
</code></pre>
<p>Выведенные примеры демонстрируют основные возможности работы с массивами в NumPy и только небольшую часть доступных функций и операций. NumPy ndarray является мощным инструментом, который позволяет эффективно работать с данными любого измерения и типа.</p>