Найти тему
Будни питониста

Вычисления с большими числовыми массивами. Библиотека NumPy.

Иногда появляется необходимость производить вычисления с огромными наборами данных, представленными в виде массивов или таблиц. В Python для этого принято использовать библиотеку NumPy.

Основное назначение NumPy - то, что она предоставляет объект массива, который более эффективен и лучше подходит для математических вычислений, чем стандартный список Python.

Рассмотрим простой пример, иллюстрирующий важные различия между массивами NumPy и списками:

>>>#Списки Python

>>> х = [1, 2, э, 4]

>>>у= [5, 6, 7, 8]

>>> х * 2

(1, 2, 3, 4, 1, 2, 3, 4)

>>> х + 10

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

TypeError: can only concatenate list (not "int") to list

>>> х + у

(1, 2, 3, 4, 5, 6, 7, 8)

>>>#Массивы Numpy

>>> import numpy as np

>>> ах= np.array([l, 2, 3, 4]

>>> ау= np.array([S, 6, 7, 8])

>>> ах * 2

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

>>> ах+ 10

array([ll, 12, 13, 14))

>>> ах + ау

array([ 6, 8, 10, 12])

>>>ах* ау

array([ 5, 12, 21, 32])

>>>

Справочник Python Как видите, основные математические операции с массивами ведут себя иначе. В частности, скалярные операции ( например, ах * 2 или ах+ 10) применяются к массиву поэлементно (в случае с обычным списком нужно было писать цикл и добавлять в цикле 1 О к каждому значению списка). Кроме того, математически операции, когда оба операнда являются массивами, применяются к каждому элементу и в результате создается новый массив. Библиотека NumPy просто огромна и можно ей посвятить отдельную книгу. Посетите сайт http://www.numpy.org для дополнительной информации.