Простой Python. современный стиль программирования - читать онлайн бесплатно полную версию книги . Страница 320

и содержит дополнения.

Я рекомендую вам установить пакет Anaconda. Он большой, и все, что пред-

ставлено в этом приложении, в нем содержится. В приложении Г рассматривается

использование Python 3 и Anaconda. Примеры остальной части приложения под-

разумевают, что вы установили необходимые пакеты либо отдельно, либо как часть

Anaconda.

414

Приложение В. Py в науке

NumPy

Это одна из основных причин популярности Python среди ученых (http://www.num-

py.org/). Вы слышали, что динамические языки вроде Python зачастую медленнее

компилирующих языков вроде С или даже других интерпретируемых языков вро-

де Java. NumPy был написан для предоставления доступа к быстрым многомерным

массивам по аналогии с научными языками вроде FORTRAN. Вы получаете ско-

рость С и дружественность к разработчикам Python.

Если вы загрузили один из научных дистрибутивов, у вас уже есть NumPy.

Если же нет, следуйте инструкциям на странице загрузки NumPy (http://www.scipy.org/

scipylib/download.html).

Для того чтобы начать работу с NumPy, вы должны понять устройство основной

структуры данных, многомерного массива ndarray (от N-dimensional array —

«N-мерный массив») или просто array. В отличие от списков и кортежей в Python,

все элементы должны иметь одинаковый тип.

NumPy называет количество измерений массива его рангом. Одномерный мас-

сив похож на ряд значений, двухмерный — на таблицу с рядами и колонками,

а трехмерный — на кубик Рубика. Длина измерений может не быть одинаковой.

array в NumPy и array в Python — это не одно и то же. В дальнейшем в этом приложении

я буду работать только с массивами NumPy.

Но зачем нам нужны массивы?

 Научные данные зачастую представляют собой большие последовательности.

 Научные подсчеты для таких данных часто выполняются с использованием

матричной математики, регрессии, симуляции и других приемов, которые об-

рабатывают множество фрагментов данных одновременно.

 NumPy обрабатывает массивы гораздо быстрее, чем стандартные списки или

кортежи Python.

Существует множество способов создать массив NumPy.

Создание массива с помощью функции array()

Вы можете создать массив из обычного списка или кортежа:

>>> b = np.array([2, 4, 6, 8])

>>> b

array([2, 4, 6, 8])

Атрибут ndim возвращает ранг массива:

>>> b.ndim

1

NumPy

415

Общее число значений можно получить с помощью атрибута size:

>>> b.size

4

Количество значений каждого ранга возвращает атрибут shape:

>>> b.shape