12 операций NumPy для начинающих

NumPy, что означает числовой Python, представляет собой библиотеку Python, которая в основном используется для работы с массивами и выполнения с ними широкого спектра математических операций. Это основная библиотека для научных вычислений на Python. NumPy часто используется с другими библиотеками Python, связанными с наукой о данных, такими как SciPy, Pandas и Matplotlib.

В этой статье вы узнаете, как выполнить 12 основных операций с помощью NumPy.

Использование этих примеров NumPy

Вы можете запустить примеры из этой статьи, введя код непосредственно в интерпретатор Python. Для этого запустите его в интерактивном режиме из командной строки.

Вы также можете получить доступ к файлу записной книжки Python, содержащему полный исходный код из этого репозитория GitHub .

1. Как импортировать NumPy как np и распечатать номер версии

Вы должны использовать ключевое слово импорта , чтобы импортировать любую библиотеку в Python. NumPy обычно импортируется под псевдонимом np . При таком подходе вы можете ссылаться на пакет NumPy как на np вместо numpy .

 import numpy as np
print(np.__version__)

Выход:

 1.20.1

2. Как создать объект NumPy ndarray

Объект массива в NumPy называется ndarray . Вы можете создать объект NumPy ndarray, используя метод array () . Метод array () принимает список, кортеж или объект, подобный массиву.

Использование кортежа для создания массива NumPy

 arrObj = np.array((23, 32, 65, 85))
arrObj

Выход:

 array([23, 32, 65, 85])

Использование списка для создания массива NumPy

 arrObj = np.array([43, 23, 75, 15])
arrObj

Выход:

 array([43, 23, 75, 15])

3. Как создавать 0D, 1D, 2D, 3D и N-мерные массивы NumPy

0D массивы

Каждый элемент массива представляет собой массив 0D.

 arrObj = np.array(21)
arrObj

Выход:

 array(21)

1D массивы

Массивы, элементы которых имеют массивы 0D, называются 1D массивами.

 arrObj = np.array([43, 23, 75, 15])
arrObj

Выход:

 array([43, 23, 75, 15])

2D-массивы

Массивы, элементы которых имеют одномерные массивы, называются двумерными массивами.

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj

Выход:

 array([[12, 43, 21],
[67, 32, 98]])

3D-массивы

Массивы, в качестве элементов которых используются 2D-массивы (матрицы), называются 3D-массивами.

 arrObj = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
arrObj

Выход:

 array([[[23, 45, 22],
[45, 76, 23]],

[[67, 23, 56],
[12, 76, 63]]])

n-мерные массивы

Вы можете создать массив любого измерения, используя аргумент ndmin .

 arrObj = np.array([23, 22, 65, 44], ndmin=5)
arrObj

Выход:

 array([[[[[23, 22, 65, 44]]]]])

4. Как проверить размеры массива

Вы можете найти размеры массива, используя атрибут ndim .

 arrObj1 = np.array(21)
arrObj2 = np.array([43, 23, 75, 15])
arrObj3 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj4 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1.ndim)
print(arrObj2.ndim)
print(arrObj3.ndim)
print(arrObj4.ndim)

Выход:

 0
1
2
3

5. Как получить доступ к элементам 1D, 2D и 3D массивов

Вы можете получить доступ к элементу массива, используя его порядковый номер. Для двумерных и трехмерных массивов необходимо использовать целые числа, разделенные запятыми, представляющие индекс каждого измерения.

 arrObj1 = np.array([43, 23, 75, 15])
arrObj2 = np.array([[12, 43, 21], [67, 32, 98]])
arrObj3 = np.array([[[23, 45, 22], [45, 76, 23]], [[67, 23, 56], [12, 76, 63]]])
print(arrObj1[2])
print(arrObj2[0, 2])
print(arrObj3[0, 1, 2])

Выход:

 75
21
23

Примечание . Массивы NumPy также поддерживают отрицательную индексацию.

Связанный: Почему Python – это язык программирования будущего

6. Как проверить тип данных объекта массива NumPy

Вы можете проверить тип данных объекта массива NumPy, используя свойство dtype .

 arrObj1 = np.array([1, 2, 3, 4])
arrObj2 = np.array([1.3, 6.8, 3.5, 9.2])
arrObj3 = np.array(['Welcome', 'to', 'MUO'])
print(arrObj1.dtype)
print(arrObj2.dtype)
print(arrObj3.dtype)

Выход:

 int32
float64
<U7

Примечание :

NumPy использует следующие символы для представления встроенных типов данных:

  • i – целое число (со знаком)
  • b – логическое
  • O – объект
  • S – строка
  • u – беззнаковое целое
  • f – плавать
  • c – сложный поплавок
  • м – timedelta
  • M – дата и время
  • U – строка юникода
  • V – необработанные данные (недействительно)

7. Как изменить тип данных массива NumPy

Вы можете изменить тип данных массива NumPy, используя метод astype (data_type) . Этот метод принимает тип данных в качестве параметра и создает новую копию массива. Вы можете указать тип данных, используя такие символы, как 'b' для логического значения, 'i' для целого числа, 'f' для числа с плавающей запятой и т. Д.

Преобразование целочисленного массива в массив с плавающей запятой

 arrObj = np.array([43, 23, 75, 15])
floatArr = arrObj.astype('f')
floatArr

Выход:

 array([43., 23., 75., 15.], dtype=float32)

Преобразование массива с плавающей запятой в целочисленный массив

 arrObj = np.array([1.3, 6.8, 3.5, 9.2])
intArr = arrObj.astype('i')
intArr

Выход:

 array([1, 6, 3, 9], dtype=int32)

Связанный: Идеи проекта Python, подходящие для начинающих

8. Как скопировать массив NumPy в другой массив

Вы можете скопировать массив NumPy в другой массив с помощью функции np.copy () . Эта функция возвращает копию массива данного объекта.

 oldArr = np.array([43, 23, 75, 15])
newArr = np.copy(oldArr)
newArr

Выход:

 array([43, 23, 75, 15])

9. Как найти форму массива NumPy

Форма массива относится к количеству элементов в каждом измерении. Вы можете найти форму массива с помощью атрибута shape . Он возвращает кортеж, элементы которого дают длины соответствующих измерений массива.

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
arrObj.shape

Выход:

 (2, 3)

Связанный: Как создавать API на Python: самые популярные фреймворки

10. Как изменить форму массива NumPy

Изменение формы массива означает изменение его формы. Обратите внимание, что вы не можете придать массиву произвольную форму. Количество элементов, необходимых для изменения формы, должно быть одинаковым в обеих формах.

 arrObj = np.array([43, 23, 75, 15, 34, 45])
reshapedArr = arrObj.reshape(2, 3)
reshapedArr

Выход:

 array([[43, 23, 75],
[15, 34, 45]])

В приведенном выше примере 1D-массив преобразуется в 2D-массив.

11. Как сгладить массив NumPy

Сглаживание массива означает преобразование многомерного массива в одномерный массив. Вы можете сгладить массив, используя reshape (-1) .

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
flattenedArr = arrObj.reshape(-1)
flattenedArr

Выход:

 array([12, 43, 21, 67, 32, 98])

Примечание . Вы также можете сгладить массив, используя другие методы, такие как numpy.ndarray.flatten () и numpy.ravel () .

12. Как отсортировать массив NumPy

Вы можете отсортировать массив NumPy с помощью функции numpy.sort () .

Сортировка одномерного массива целых чисел

 arrObj = np.array([43, 23, 75, 15])
np.sort(arrObj)

Выход:

 array([15, 23, 43, 75])

Сортировка одномерного массива строк

 arrObj = np.array(["Python", "JavaScript", "Solidity", "Golang"])
np.sort(arrObj)

Выход:

 array(['Golang', 'JavaScript', 'Python', 'Solidity'], dtype='<U10')

Сортировка двумерного массива целых чисел

 arrObj = np.array([[12, 43, 21], [67, 32, 98]])
np.sort(arrObj)

Выход:

 array([[12, 21, 43], [32, 67, 98]])

Сделайте свой код надежным, используя встроенные методы и функции

Python – один из самых популярных языков программирования. Он используется в различных областях, таких как веб-разработка, научные и числовые приложения, разработка программного обеспечения и разработка игр. Всегда полезно знать о встроенных методах и функциях в Python. Они могут сократить ваш код и повысить его эффективность.