узнать numpy
предисловие
Университетские исследования использовали Matlab для обработки матриц и операций с определителями. Matlab мощен и очень прост в использовании, но о нем забыли за столько лет. В настоящее время действительно есть определенная потребность в рекомендации алгоритмов, обработки данных, машинного обучения, искусственного интеллекта, анализа и обработки данных в работе, и в настоящее время в этой области много недостатков, необходимо улучшить знания в этой области. , а надо реорганизовать матрицу, определитель и прочие сопутствующие вещи. В основном, недавно было обнаружено, что numpy, matplotlab, pandas и scipy могут полностью заменить matlab, и каждый модуль бесплатный, и есть довольно много онлайн-руководств. Так как все условия соблюдены, я решил успокоиться и хорошенько изучить эти вещи, и, наконец, применить полученные знания на практике. Сначала изучите numpy, разберитесь во всех понятиях и использовании примерно через неделю, будет 4-6 статей.
Инструкции, связанные с Numpy:
NumPy — очень быстрая математическая библиотека, в основном используемая для вычислений массивов. Поддерживает большое количество операций с массивами измерений и матрицами, а также предоставляет большое количество библиотек математических функций для операций с массивами, в том числе:
- Мощный объект N-мерного массива ndarray
- функция трансляции
- Инструменты для интеграции C / C ++ / Fortran Code
- Линейная алгебра, преобразование Фурье, генерация случайных чисел и другие функции
numpy устанавливается с помощью pip
1, последняя версия имеет встроенный модуль pip
python -m pip install --user numpy scipy matplotlib ipython jupyter pandas sympy nose
2, проверьте, прошла ли установка успешно
>>> import numpy as np
>>> np.__version__
'1.16.3'
3, объект NumPy Ndarray
Ndarray — это N-мерная комбинация данных одного типа, каждый элемент занимает одно и то же пространство памяти и имеет индекс 0. Внутри ndarray состоит из следующего:
- Указатель на данные (блок данных в памяти или отображаемый в память файл).
- Тип данных, или dtype, описывающий решетку значений фиксированного размера в массиве.
- Кортеж, представляющий форму массива, представляющий размер каждого измерения.
- Кортеж шага (шаг), где целое число относится к количеству байтов, которые необходимо «удалить», чтобы перейти к следующему элементу в текущем измерении.
4, создайте объект ndarray
Ниже приведен пример для понимания:
- Создайте одномерный объект ndarray из списка:
>>> a = [1,2,3,4]
>>> dt = np.array(a)
>>> print(dt)
[1 2 3 4]
- Создайте двумерный объект ndarray из списка:
>>> a = [[1,2,3],[4,5,6]]
>>> dt = np.array(a)
>>> print(dt)
[[1 2 3]
[4 5 6]]
- Создайте многомерный объект ndarray из списка:
>>> a = [[[1,2,3]],[[4,5,6]]]
>>> dt = np.array(a)
>>> print(dt)
[[[1 2 3]]
[[4 5 6]]]
объект ndarray с типом
- Создайте объект ndarray с dtype=float из списка:
>>> a = [[1,2,3],[4,5,6]]
>>> dt = np.array(a,dtype='float')
>>>
>>> print(dt)
[[1. 2. 3.]
[4. 5. 6.]]
- Создайте объект ndarray с dtype=float из списка:
>>> a = [[1,2,3],[4,5,6]]
>>> dt = np.array(a,dtype='complex')
>>> print(dt)
[[1.+0.j 2.+0.j 3.+0.j]
[4.+0.j 5.+0.j 6.+0.j]]
>>>
Давайте представим упомянутый выше тип dtype
Тип dtype такой же, как тип данных в Python, который используется для идентификации типа переменной, но тип данных в numpy намного сложнее, чем тип python.
- Целочисленный тип: (делится на знаковые и беззнаковые типы)
имя типа | инструкция |
---|---|
int_ | Тип по умолчанию int32 или int64 |
int8 | целое число со знаком (от -128 до 127) |
int16 | целое число со знаком (от -32768 до 32767) |
int32 | Целое число со знаком (от -2147483648 до 2147483647) |
int64 | Целое число со знаком (от -9223372036854775808 до 9223372036854775807) |
uint8 | целое число без знака (от 0 до 255) |
uint16 | целое число без знака (от 0 до 65535) |
uint32 | целое число без знака (от 0 до 4294967295) |
uint64 | целое число без знака (от 0 до 18446744073709551615) |
- тип с плавающей запятой
имя типа | инструкция |
---|---|
float_ | Сокращенный тип для float64 |
float16 | Номер с плавающей запятой полуточной с плавающей точкой, в том числе: 1 подписать бит, 5 экспонентных битов, 10 битов Mantissa |
float32 | Число с плавающей запятой половинной точности, включая: 1 бит знака, 8 бит экспоненты, 32 бита мантиссы |
float64 | Число с плавающей запятой половинной точности, включая: 1 бит знака, 11 бит экспоненты, 52 бита мантиссы |
- множественное число
имя типа | инструкция |
---|---|
complex_ | Сокращенный тип для complex128, который представляет собой 128-битное комплексное число. |
complex64 | Представляет двойное 32-битное число с плавающей запятой (действительная и мнимая части) |
complex128 | Представляет двойное 64-битное число с плавающей запятой (действительная и мнимая части) |
Простое понимание с примерами:
продолжение следует. . . .