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 также поддерживают отрицательную индексацию.
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)
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)
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. Они могут сократить ваш код и повысить его эффективность.