Многомерные массивы
Numpy поддерживает работу с многомерными массивами, в том числе, с матрицами. Библиотека включает в себя не только на Python , но и язык C , который работает значительно быстрее так как является более низко уровневым, поэтому расчёты в numpy производятся во много раз быстрее, чем если бы мы использовали для этого стандартные структуры данных из Python .
Установить библиотеку numpy :
- Если вы используете Python в составе дистрибутива Anaconda , то достаточно в командной строке ввести: conda install numpy
- Если вы используете Python отдельно, то же самое можно сделать с помощью пакетного менеджера pip : pip install numpy
Импорт библиотеки в код:
import numpy as np #Где импорт добавляет библиотеку, а as присваивает ей псевдоним np для удобства, вы можете написать любой.
Чтобы задать numpy -массив, достаточно задать обычный Python список list , а затем поместить его внутрь функции np.array :
a = np.array([0, 1, 2])
print(a)
[0 1 2]
В функции можно подавать также Python кортеж tuple . Проверим, к какому типу относится массив a :
type(a)
numpy.ndarray
ndarray - сокращение от -dimensional array ( -мерный массив).
В отличие от стандартных Python структур данных, в numpy массивы используют данные одного типа. К примеру, если функция np.array вызывается для списка, содержащего как целые ( int ), так и дробные ( float ) значения, то в результирующем массиве все значения будут приведены к типу float .
По аналогии, если в списке есть хотя бы одна строка str , то в соответствующем массиве все значения будут приведены к данному типу str .
Если мы хотим задать свой тип, к которому нужно привести данные, это можно сделать с помощью специального аргумента dtype :
a = np.array( [0, 2, 3.6], dtype=str)
print(a)
[ '0' '2' '3.6' ]
Получить нужный элемент массива можно также, как и в стандартных Python данных - с помощью квадратных скобок. В numpy , как и во всём Python, индексация идет с нуля. Например, получить второй элемент из массива a (т.е. элемент с индексом 1) можно так:
a[1]
'2'
Также в numpy можно использовать отрицательную индексацию и делать срезы, как и в стандартных списках:
a[-1]
'3.6'
a[1:3]
array(['2', '3.6'], dtype='<U3')