Библиотека numpy в python
Содержание:
- Python numpy random number generator
- Использование функции reshape()
- Индексирование и сегментация массивов в Python
- Обратитесь в массив списка в Python
- Массив
- Сравнение numpy.arange() и range()
- Добро пожаловать в NumPy!
- Установка NumPy
- Как импортировать NumPy
- В чем разница между списком Python и массивом NumPy?
- Что такое массив?
- Python reverse array sort reverse
- Функции, определенные для массивов¶
- Attributes of a NumPy array
- Python NumPy Shape
- 1.4.1.5. Indexing and slicing¶
- Синтаксис
- Python numpy flip array
- Операции с матрицами
- Python numpy arange shape
- Python numpy empty 2d array
- Python numpy empty string array
- Python numpy.where() функция с несколькими условиями
- Python numpy shape vs reshape
Python numpy random number generator
- In Python, the generator provides entry to a wide range of normal distribution and is replaced with a random state.
- It is a mathematical way that generates a sequence of nearly random numbers and the generator relies on an additional bit generator to control random bit numbers. In Python the random values are produced by the generator and originate in a Bit generator.
Syntax:
Here is the Syntax of the numpy random generator
Note: By default, the bit generator takes a value(PCG64) and if you want to initialize a bit generator then use the seed parameter in it and it will return the initialized generator object.
Example:
Here is the execution of the following given code
Python numpy random number generator
Использование функции reshape()
Первым делом, прежде чем попрактиковаться в использовании данной функции, вам следует импортировать библиотеку NumPy. После этого можно приступать к работе.
Далее мы покажем различные варианты использования функции .
Пример 1: преобразование одномерного массива в двумерный
Итак, давайте разберем, как с помощью функции преобразовать одномерный массив в двумерный.
В этом сценарии для создания одномерного массива из 10 элементов используется функция .
Первая функция используется для преобразования одномерного массива в двумерный, состоящий из 2 строк и 5 столбцов. Здесь функция вызывается с использованием имени модуля .
А вторая функция используется для преобразования одномерного массива в двумерный, состоящий из 5 строк и 2 столбцов. Здесь уже функция вызывается с использованием массива NumPy с именем .
import numpy as np np_array = np.arange(10) print("Исходный массив : \n", np_array) new_array = np.reshape(np_array, (2, 5)) print("\n Измененный массив с 2 строками и 5 столбцами : \n", new_array) new_array = np_array.reshape(5, 2) print("\n Измененный массив с 5 строками и 2 столбцами : \n", new_array)
Если вы запустите описанную выше программу, то получите результат, как на следующем скриншоте. Первый показывает исходный массив, а второй и третий выводят преобразованные массивы.
Пример 2: преобразование одномерного массива в трехмерный
Теперь давайте посмотрим, как при помощи функции преобразовать одномерный массив в трехмерный.
Воспользуемся функцией для создания одномерного массива из 12 элементов.
Функция преобразует созданный одномерный массив в трехмерный размером 2х2х3. Здесь функция вызывается с использованием NumPy-массива .
import numpy as np np_array = np.array() print("Исходный массив : \n", np_array) new_array = np_array.reshape(2, 2, 3) print("\n Преобразованный 3D массив : \n", new_array)
Выполнив данный код, вы получите следующий вывод. Как и в прошлый раз, первый показывает изначальный массив, второй – преобразованный массив.
Пример 3: изменение формы массива NumPy с учетом порядка
Как вы помните, у функции есть третий — опциональный — аргумент, задающий порядок индексации. Давайте посмотрим, как он применяется на практике.
Как и в первом примере, воспользуемся функцией для создания одномерного массива из 15 элементов.
Первая функция используется для создания двумерного массива из 3 строк и 5 столбцов с упорядочением в стиле C. В то время как вторая функция используется для создания двумерного массива из 3 строк и 5 столбцов с упорядочением в стиле Фортрана.
import numpy as np np_array = np.arange(15) print("Исходный массив : \n", np_array) new_array1 = np.reshape(np_array, (3, 5), order='C') print("\n Преобразованный 2D массив, упорядоченный в стиле С : \n", new_array1) new_array2 = np.reshape(np_array, (3, 5), order='F') print("\n Преобразованный 2D массив, упорядоченный в стиле Фортрана : \n", new_array2)
Давайте выполним наш код. Вот, что мы получим. Как и раньше, первый показывает исходный массив значений. Второй показывает значения массива, упорядоченного по строкам. Третий – упорядоченного по столбцам.
Индексирование и сегментация массивов в Python
Для одномерных коллекций array применяются, операции сегментации и индексирования, описанные в разделе «Сегментация последовательностей в Python». Ниже разберем сегментацию с двумерными коллекциями array.
Выбор элемента двумерной коллекции array
Для выбора элемента двумерной коллекции array укажите кортеж с индексами строки и столбца элемента в квадратных скобках.
>>> import numpy as np
>>> grades = np.array(, , , ])
>>> gradesarray(,
,
,
])
>>> grades # строка 1, столбец 2
4
Выбор подмножества строк двумерной коллекции array
Для выбора одной строки укажите в квадратных скобках только один индекс:
>>> gradesarray()
Для выбора нескольких строк используйте синтаксис сегмента:
>>> gradesarray(,
])
Для выбора нескольких несмежных строк используйте список индексов строк:
>>> grades]array(,
])
Выбор подмножества столбцов двумерной коллекции array
Для выбора подмножества столбцов следует указать кортеж, в котором указаны выбираемые строки и столбцы:
>>> gradesarray()
Двоеточие указывает какие строки в столбце должны выбираться. В нашем случает » » является сегментом и выбираются все строки. После запятой мы указали 1, значит выбрали столбец номер два.
Для выбора нескольких смежных столбцов используется синтаксис сегмента:
>>> gradesarray(,
,
,
])
Для выбора конкретных столбцов используйте список индексов этих строк:
>>> grades]array(,
,
,
])
Обратитесь в массив списка в Python
Как мы уже обсуждали Списки и Массивы похожи в Python. Там, где основное различие между ними, в том, что массивы позволяют только элементы одного и того же типа данных, в то время как списки позволяют им быть разными.
Поскольку Python не поддерживает обычные массивы, мы можем использовать списки, чтобы изобразить то же самое и попытаться отменить их. Давайте посмотрим на разные методы, следующие, которые мы можем достичь этой задачи,
1. Использование списка нарезка, чтобы изменить массив в Python
Мы можем изменить массив списка, используя нарезка методы. Таким образом, мы фактически создаем новый список в обратном порядке как у оригинального. Давайте посмотрим, как:
#The original array arr = print("Array is :",arr) res = arr #reversing using list slicing print("Resultant new reversed array:",res)
Выход :
Array is : Resultant new reversed array:
2. Использование метода обратного ()
Python также предоставляет встроенный метод Это непосредственно меняет порядок элементов списка прямо на исходном месте.
Примечание : Таким образом, мы меняем порядок фактического списка. Следовательно, исходный порядок потерян.
#The original array arr = print("Before reversal Array is :",arr) arr.reverse() #reversing using reverse() print("After reversing Array:",arr)
Выход :
Before reversal Array is : After reversing Array:
3. Использование обратного () метода
У нас еще один метод, Что при прохождении со списком возвращает намерение имеющих только элементы списка в обратном порядке. Если мы используем Метод на этом намечном объекте мы получаем новый список, который содержит наш обратный массив.
#The original array arr = print("Original Array is :",arr) #reversing using reversed() result=list(reversed(arr)) print("Resultant new reversed Array:",result)
Выход :
Original Array is : Resultant new reversed Array:
Массив
Массив numpy – это сетка значений одного типа. Мы можем инициализировать массив NumPy с помощью вложенного списка Python. Затем мы можем получить к ним доступ, используя их index. Также в NumPy есть функция, с помощью которой вы можете создавать различные типы массивов.
Смотрите следующий код, чтобы понять объявление массива numpy и доступ к элементам.
import numpy # Create a rank 1 array a = numpy.array() print('print rank 1 array:') # access the array using their index print('print using their index: a= ', a) a = 5 # modify the array print('print using slicing : ', a) # slicing can be used also # print the whole list print('Print the whole array : ', a) # Create a rank 2 array using nested Python list b = numpy.array(, ]) print('\nprint rank 2 array') # access them using their index print('print using their index: b= ', b, ' b= ',b) print('print using slicing ', b) # 1st slice for row, 2nd for column # initialize a zero matrix a = numpy.zeros((2, 2)) print('\nprint a 2-by-2 zero matrix:\n', a) # Create an array of all ones b = numpy.ones((2, 2)) print('\nprint a 2-by-2 all one matrix:\n', b) # Create a constant array c = numpy.full((3, 3), 6) print('\nprint a 3-by-3 constant matrix for value = 6:\n', c) # Create a 3x3 identity matrix d = numpy.eye(3) print('\nprint a 3-by-3 identity matrix:\n', d)
Результатом кода примера массива будет:
print rank 1 array: print using their index: a= 3 print using slicing : Print the whole array : print rank 2 array print using their index: b= 10 b= 20 print using slicing `40 50` print a 2-by-2 zero matrix: ] print a 2-by-2 all one matrix: ] print a 3-by-3 constant matrix for value = 6: ] print a 3-by-3 identity matrix: ]
Сравнение numpy.arange() и range()
Весь смысл использования модуля numpy состоит в том, чтобы гарантировать, что выполняемые нами операции выполняются как можно быстрее, поскольку numpy – это интерфейс Python для кода C ++ нижнего уровня.
Многие операции в numpy векторизованы, что означает, что операции выполняются параллельно, когда numpy используется для выполнения любой математической операции. Благодаря этому для больших массивов и последовательностей numpy обеспечивает лучшую производительность.
Следовательно, numpy.arange() намного быстрее, чем собственная функция range() для генерации аналогичных линейных последовательностей.
Добро пожаловать в NumPy!
NumPy (NumericalPython) — это библиотека Python с открытым исходным кодом, которая используется практически во всех областях науки и техники. Это универсальный стандарт для работы с числовыми данными в Python, и он лежит в основе научных экосистем Python и PyData. В число пользователей NumPy входят все — от начинающих программистов до опытных исследователей, занимающихся самыми современными научными и промышленными исследованиями и разработками. API-интерфейс NumPy широко используется в пакетах Pandas, SciPy, Matplotlib, scikit-learn, scikit-image и в большинстве других научных и научных пакетов Python.
Библиотека NumPy содержит многомерный массив и матричные структуры данных (дополнительную информацию об этом вы найдете в следующих разделах). Он предоставляет ndarray, однородный объект n-мерного массива, с методами для эффективной работы с ним. NumPy может использоваться для выполнения самых разнообразных математических операций над массивами. Он добавляет мощные структуры данных в Python, которые гарантируют эффективные вычисления с массивами и матрицами, и предоставляет огромную библиотеку математических функций высокого уровня, которые работают с этими массивами и матрицами.
Узнайте больше о NumPy здесь!
GIF черезgiphy
Установка NumPy
Чтобы установить NumPy, я настоятельно рекомендую использовать научный дистрибутив Python. Если вам нужны полные инструкции по установке NumPy в вашей операционной системе, вы можетенайти все детали здесь,
Если у вас уже есть Python, вы можете установить NumPy с помощью
conda install numpy
или
pip install numpy
Если у вас еще нет Python, вы можете рассмотреть возможность использованияанаконда, Это самый простой способ начать. Преимущество этого дистрибутива в том, что вам не нужно слишком беспокоиться об отдельной установке NumPy или каких-либо основных пакетов, которые вы будете использовать для анализа данных, таких как pandas, Scikit-Learn и т. Д.
Если вам нужна более подробная информация об установке, вы можете найти всю информацию об установке наscipy.org,
фотоАдриеннотPexels
Если у вас возникли проблемы с установкой Anaconda, вы можете ознакомиться с этой статьей:
Как импортировать NumPy
Каждый раз, когда вы хотите использовать пакет или библиотеку в своем коде, вам сначала нужно сделать его доступным.
Чтобы начать использовать NumPy и все функции, доступные в NumPy, вам необходимо импортировать его. Это можно легко сделать с помощью этого оператора импорта:
import numpy as np
(Мы сокращаем «numpy» до «np», чтобы сэкономить время и сохранить стандартизированный код, чтобы любой, кто работает с вашим кодом, мог легко его понять и запустить.)
В чем разница между списком Python и массивом NumPy?
NumPy предоставляет вам огромный выбор быстрых и эффективных числовых опций. Хотя список Python может содержать разные типы данных в одном списке, все элементы в массиве NumPy должны быть однородными. Математические операции, которые должны выполняться над массивами, были бы невозможны, если бы они не были однородными.
Зачем использовать NumPy?
фотоPixabayотPexels
Массивы NumPy быстрее и компактнее, чем списки Python. Массив потребляет меньше памяти и намного удобнее в использовании. NumPy использует гораздо меньше памяти для хранения данных и предоставляет механизм задания типов данных, который позволяет оптимизировать код еще дальше.
Что такое массив?
Массив является центральной структурой данных библиотеки NumPy. Это таблица значений, которая содержит информацию о необработанных данных, о том, как найти элемент и как интерпретировать элемент. Он имеет сетку элементов, которые можно проиндексировать в Все элементы имеют одинаковый тип, называемыймассив dtype(тип данных).
Массив может быть проиндексирован набором неотрицательных целых чисел, логическими значениями, другим массивом или целыми числами.рангмассива это количество измерений.формамассива — это кортеж целых чисел, дающий размер массива по каждому измерению.
Одним из способов инициализации массивов NumPy является использование вложенных списков Python.
a = np.array(, , ])
Мы можем получить доступ к элементам в массиве, используя квадратные скобки. Когда вы получаете доступ к элементам, помните, чтоиндексирование в NumPy начинается с 0, Это означает, что если вы хотите получить доступ к первому элементу в вашем массиве, вы получите доступ к элементу «0».
print(a)
Выход:
Python reverse array sort reverse
- In this section, we will discuss Python reverse array sort reverse.
- In Numpy, the np.sort() function does not allow us to sort an array in the largest number order. Instead, that we can reverse an array providing list slicing in Python after it has been sorted in ascending order.
- The slicing method notation with default start and stop indices and negative step size -1 reverses a given list.
- Use slicing method s to access every step-the element starting from index start (included) and ending in index stop.
Example:
- In the above code, we will import a numpy library and create an array using the numpy.array function. Now create a variable and arrange the elements using the np.sort() function.
- Reverse sorted array using the slicing method and print the output.
Here is the Screenshot of the following given code
Python reverse numpy array reverse method
Функции, определенные для массивов¶
Алгебраические функции
Функця | Описание |
---|---|
isreal(x) | проверка на действительность (по элементам) |
iscomplex(x) | проверка на комплексность (по элементам) |
isfinite(x) | приверка элементов на числовое значение (не бесконечность и не «не число»). |
isinf(x) | проверка на бесконечность (по элементам) |
isnan(x) | проверка аргумента на «не число» (NaN), результат – логический массив |
signbit(x) | истина, если установлен бит знака (меньше нуля) |
copysign(x1, x2) | меняет знак x1 на знак x2 (по элементам |
nextafter(x1, x2) | следующее в направлении x2 число, представимое в виде с плавающей точкой (по элементам) |
modf(x) | дробная и целая часть числа |
ldexp(x1, x2) | вычисляет y = x1 * 2**x2. |
frexp(x) | разделение числа на нормированную часть и степень |
absolute(x) | Calculate the absolute value element-wise. |
rint(x) | округление элементов массива |
trunc(x) | отбрасывание дробной части (по элементам) |
floor(x) | целая часть |
ceil(x) | минимальное целое большее числа |
sign(x) | знаки элементов |
conj(x) | комплексное сопряжение (по элементам). |
exp(x) | экспонента (по элементам) |
exp2(x) | 2**элемент (по элементам) |
log(x) | натуральный логарифм (по элементам) |
log2(x) | двоичный логарифм (по элементам) |
log10(x) | десятичный логарифм (по элементам) |
expm1(x) | exp(x) — 1 (по элементам) |
log1p(x) | Return the natural logarithm of one plus the input array, element-wise. |
sqrt(x) | квадратный корень (для положительных) (по элементам) |
square(x) | квадрат (по элементам) |
reciprocal(x) | обратная величина (по элементам) |
- x – массив
- out – место для результата
Тригонометрические функции
Все тригонометрические функции работают с радианами.
Функция | Обратная функция | Описание |
---|---|---|
sin(x) | arcsin(x) | синус (по элементам) |
cos(x) | arccos(x) | косинус (по элементам) |
tan(x) | arctan(x) | тангенс (по элементам) |
arctan2(x1, x2) | арктангенс x1/x2 с правильным выбором четверти (по элементам) | |
hypot(x1, x2) | гипотенуза по двум катетам (по элементам) | |
sinh(x) | arcsinh(x) | гиперболический синус (по элементам) |
cosh(x) | arccosh(x) | гиперболический косинус (по элементам) |
tanh(x) | arctanh(x) | гиперболический тангенс (по элементам) |
deg2rad(x) | rad2deg(x) | преобразование градусов в радианы (по элементам) |
- x, x1, x2 – массивы
- out – место для результата
Функции двух аргументов (бинарные функции)
Для правильной работы с логическими бинарными функциям (AND, OR) необходимо явно их записывать через функции
модуля «NumPy», а не полагаться на встроенные функции питона.
Функция | Описание |
---|---|
add(x1, x2) | сумма (по элементам) |
subtract(x1, x2) | разность (по элементам) |
multiply(x1, x2) | произведение (по элементам) |
divide(x1, x2) | деление (по элементам) |
logaddexp(x1, x2) | логарифм суммы экспонент (по элементам) |
logaddexp2(x1, x2) | логарифм по основанию 2 от суммы экспонент (по элементам) |
true_divide(x1, x2) | истинное деление (с преобразованием типов) |
floor_divide(x1, x2) | деление без преобразования типов (целочисленное) |
negative(x) | обратные элементы (по элементам) |
power(x1, x2) | элементы первого массива в степени элементов из второго массива (по элементам) |
remainder(x1, x2), mod(x1, x2), fmod(x1, x2) | остаток от деления (по элементам). |
greater(x1, x2) | истина, если (x1 > x2) (по элементам). |
greater_equal(x1, x2) | истина, если (x1 > =x2) (по элементам). |
less(x1, x2) | истина, если (x1 < x2) (по элементам). |
less_equal(x1, x2) | истина, если (x1 =< x2) (по элементам). |
not_equal(x1, x2) | истина, если (x1 != x2) (по элементам). |
equal(x1, x2) | истина, если (x1 == x2) (по элементам). |
logical_and(x1, x2) | истина, если (x1 AND x2) (по элементам). |
logical_or(x1, x2) | истина, если (x1 OR x2) (по элементам). |
logical_xor(x1, x2) | истина, если (x1 XOR x2) (по элементам). |
logical_not(x) | истина, если (NOT x1) (по элементам). |
maximum(x1, x2) | максимум из элементов двух массивов(по элементам). |
- x1, x2 – массивы
- out – место для результата
Бинарные функции поддерживают дополнительные методы, позволяющие накапливать значения результата различными
способами.
- accumulate() Аккумулирование результата.
- outer() Внешнее «произведение».
- reduce() Сокращение.
- reduceat() Сокращение в заданных точках.
Методы accumulate(), reduce() и reduceat() принимают необязательный аргумент — номер размерности, используемой
для соответствующего действия. По умолчанию применяется нулевая размерность.
Attributes of a NumPy array
NumPy arrays have a set of attributes that you can access. These attributes include things like the array’s size, shape, number of dimensions, and data type.
Here’s an abbreviated list of attributes of NumPy arrays:
Attribute | What it records |
---|---|
The dimensions of the NumPy array | |
The total number of elements in the NumPy array | |
The number of dimensions of the array | |
The data type of the elements in the array | |
The length of a single array element in bytes |
I want to show you a few of these. To illustrate them, let’s make a NumPy array and then investigate a few of its attributes.
Here, we’ll once again create a simple NumPy array using .
np.random.seed(72) simple_array = np.random.randint(low = 0, high = 100, size=5)
is a NumPy array, and like all NumPy arrays, it has attributes.
You can access those attributes by using a dot after the name of the array, followed by the attribute you want to retrieve.
Here are some examples:
ndim
is the number of dimensions.
simple_array.ndim
Which produces the output:
1
What this means is that is a 1-dimensional array.
shape
The attribute tells us the number of elements along each dimension.
simple_array.shape
With the output:
(5,)
What this is telling us is that has 5 elements along the first axis. (And that’s the only information provided, because is 1-dimensional.)
size
The attribute tells you the total number of elements in a NumPy array.
simple_array.size
With the output:
5
This is telling us that has 5 total elements.
dtype (i.e., data type)
tells you the type of data stored in the NumPy array.
Let’s take a look. We can access the parameter like this:
simple_array.dtype
Which produces the output:
dtype('int64')
This is telling us that contains integers.
Also remember: NumPy arrays contain data that are all of the same type.
Although we constructed to contain integers, but we could have created an array with floats or other numeric data types.
For example, we can create a NumPy array with decimal values (i.e., floats):
array_float = np.array( ) array_float.dtype
Which gives the output:
dtype('float64')
When we construct the array with the above input values, you can see that contains data of the datatype (i.e., numbers with decimals).
Now that I’ve explained attributes, let’s examine how to index NumPy arrays.
Python NumPy Shape
- In this section, we will discuss Python NumPy shape.
- NumPy arrays have a function called shape that always returns a tuple with each index having the number of adjacent elements.
- The Numpy array shape property is to find the shape of an array.
- In this method we can easily use the numpy.shape() function.
Syntax:
Here is the Syntax of numpy.shape()
- It consists of few parameters.
- arr: input array
- Returns: The values of the shape function always give the length of the adjacent np. array.
Example:
Let’s take an example to check how to implement Python NumPy shape
In the above example the array returns (2,6) which means that the array has 2 dimensions, and each dimension has 6 values.
Here is the Screenshot of the following given code
Python NumPy shape
Read Python NumPy Random + Examples
1.4.1.5. Indexing and slicing¶
The items of an array can be accessed and assigned to the same way as
other Python sequences (e.g. lists):
>>> a = np.arange(10) >>> a array() >>> a], a2], a-1 (0, 2, 9)
Warning
Indices begin at 0, like other Python sequences (and C/C++).
In contrast, in Fortran or Matlab, indices begin at 1.
The usual python idiom for reversing a sequence is supported:
>>> a)
For multidimensional arrays, indices are tuples of integers:
>>> a = np.diag(np.arange(3)) >>> a array(, , ]) >>> a1, 1 1 >>> a2, 1 = 10 # third line, second column >>> a array(, , ]) >>> a1 array()
Note
- In 2D, the first dimension corresponds to rows, the second
to columns. - for multidimensional , is interpreted by
taking all elements in the unspecified dimensions.
Slicing: Arrays, like other Python sequences can also be sliced:
>>> a = np.arange(10) >>> a array() >>> a293 # array()
Note that the last index is not included! :
>>> a)
All three slice components are not required: by default, start is 0,
end is the last and step is 1:
>>> a13 array() >>> a) >>> a3:] array()
A small illustrated summary of NumPy indexing and slicing…
You can also combine assignment and slicing:
>>> a = np.arange(10) >>> a5:] = 10 >>> a array() >>> b = np.arange(5) >>> a5:] = b)
Exercise: Indexing and slicing
-
Try the different flavours of slicing, using , and
: starting from a linspace, try to obtain odd numbers
counting backwards, and even numbers counting forwards. -
Reproduce the slices in the diagram above. You may
use the following expression to create the array:>>> np.arange(6) + np.arange(, 51, 10), , , , , ])
Exercise: Array creation
Create the following arrays (with correct data types):
, 1, 1, 1, 1], 1, 1, 1, 2], 1, 6, 1, 1]] , 2., , , , ], , 3., , , ], , , 4., , ], , , , 5., ], , , , , 6.]]
Par on course: 3 statements for each
Hint: Individual array elements can be accessed similarly to a list,
e.g. or .
Hint: Examine the docstring for .
Синтаксис
Эта функция принимает массив типа numpy (например, массив целых и логических значений NumPy).
Он возвращает новый массив numpy после фильтрации на основе условия, который представляет собой массив логических значений, подобный numpy.
Например, условие может принимать значение массива (]), который является логическим массивом типа numpy. (По умолчанию NumPy поддерживает только числовые значения, но мы также можем преобразовать их в bool).
Например, если условием является массив (]), а наш массив – a = ndarray (]), при применении условия к массиву (a ), мы получим массив ndarray (`1 2`).
import numpy as np a = np.arange(10) print(a) # Will only capture elements <= 2 and ignore others
Вывод:
array()
ПРИМЕЧАНИЕ. То же условие условия также может быть представлено как <= 2. Это рекомендуемый формат для массива условий, так как записывать его как логический массив очень утомительно.
Но что, если мы хотим сохранить размерность результата и не потерять элементы из нашего исходного массива? Для этого мы можем использовать numpy.where().
numpy.where(condition )
У нас есть еще два параметра x и y. Что это? По сути, это означает, что если условие выполняется для некоторого элемента в нашем массиве, новый массив будет выбирать элементы из x.
В противном случае, если это false, будут взяты элементы из y.
При этом наш окончательный выходной массив будет массивом с элементами из x, если условие = True, и элементами из y, если условие = False.
Обратите внимание, что хотя x и y необязательны, если вы указываете x, вы также ДОЛЖНЫ указать y. Это потому, что в этом случае форма выходного массива должна быть такой же, как и входной массив
ПРИМЕЧАНИЕ. Та же логика применима как для одномерных, так и для многомерных массивов. В обоих случаях мы выполняем фильтрацию по условию. Также помните, что формы x, y и условия передаются вместе.
Теперь давайте рассмотрим несколько примеров, чтобы правильно понять эту функцию.
Python numpy flip array
- In this method, we will discuss the Python numpy flip array. For this, we can easily use the function numpy. flip().
- This method reverses the order of given array elements along the axis, preserving the shape of the array.
- The shape of the array is fixed, but the number of elements is reordered.
Syntax:
Here is the Syntax of the flip() function
Example:
Let’s take an example to check how to implement a reverse NumPy array by using the flip() function.
Python numpy flip array
You may like the following Python NumPy tutorials:
- Python NumPy empty array with examples
- Python NumPy round + 13 Examples
- Python NumPy nan
- Python NumPy Data types
- Python NumPy Normalize
- Valueerror: Setting an array element with a sequence
- Python NumPy Average
- Python NumPy absolute value with examples
- What is python Django
- Python dictionary length
In this Python tutorial, we will discuss Python reverse NumPy array with a few examples like below:
- Python reverse array sort reverse
- Python numpy inverse array
- Python numpy invert array
- Python numpy flip array
Операции с матрицами
Выше мы привели пример сложение, умножение матриц и транспонирование матрицы. Мы использовали вложенные списки, прежде чем создавать эти программы. Рассмотрим, как выполнить ту же задачу, используя массив NumPy.
Сложение двух матриц или сумма элементов массива Python
Мы используем оператор +, чтобы сложить соответствующие элементы двух матриц NumPy.
import numpy as np A = np.array(, ]) B = np.array(, ]) C = A + B # сложение соответствующих элементов print(C) ''' Вывод: ] '''
Умножение двух матриц Python
Чтобы умножить две матрицы, мы используем метод dot(). Узнайте больше о том, как работает numpy.dot .
Примечание: * используется для умножения массива (умножения соответствующих элементов двух массивов), а не умножения матрицы.
import numpy as np A = np.array(, ]) B = np.array(, , ]) C = a.dot(B) print(C) ''' Вывод: ] '''
Транспонирование матрицы питон
Мы используем numpy.transpose для вычисления транспонирования матрицы.
import numpy as np A = np.array(, , ]) print(A.transpose()) ''' Вывод: ] '''
Как видите, NumPy значительно упростил нашу задачу.
Python numpy arange shape
- In this section, we will discuss the Python NumPy arange shape.
- In this example we can easily use the function numpy.arange() and numpy.shape().
- The numpy.arange() is a Numpy method that returns the numpy dimension array object containing evenly spaced values within the given range. The np. arange() function takes a few arguments that include start step stop and dtype and returns evenly spaced values within a given interval.
Syntax:
- It consists of few parameters.
- start: Its an optional parameter. Start of an interval.
- Stop: end of an interval
- step: Its an optional parameter.
Example:
Here is the Screenshot of the following given code
Python NumPy arange shape
You may like the following Python tutorials:
- Python NumPy to list with examples
- Python dictionary filter + Examples
- Python NumPy round + 13 Examples
- What is python Django
- Python Numpy unique
- Python NumPy 2d array
- Python NumPy Normalize
- Python dictionary length
In this Python tutorial, we learned Python NumPy shape with a few examples.
- Python numpy shape dimensions
- Python numpy shape 0
- Python numpy shape function
- Python numpy shape 1
- Python numpy shape vs reshape
- Python numpy shape vs size
- Python numpy np.asarray shape
- Python numpy change array shape
- Python numpy shape tuple
- Python numpy arange shape
Python numpy empty 2d array
- In this section, we will discuss Python numpy empty 2d array.
- To create an empty 2Dimensional array we can pass the shape of the 2D array ( i.e is row and column) as a tuple to the empty() function.
- In this example, we can easily use the function np. empty().
- It takes only shape and data type as arguments.
- It returns an empty 2dimesion array of rows and columns but all elements in this 2d array were not initialized.
- In this example, we did not provide data type as an argument by default it takes the value as afloat.
Syntax:
Example:
In the above code, we will import the numpy library and create an empty 2dimension numpy array with 4 rows and 3 columns and print the result.
Here is the Screenshot of the following given code
Python numpy empty 2d array method
This is how to create an empty 2D Numpy array in Python.
Read Valueerror: Setting an array element with a sequence
Python numpy empty string array
- In this section, we will discuss Python numpy empty string array.
- To create an empty array of strings we can easily use the function np. empty().
- To create an empty array of 4 strings (with size 3), we need to pass ‘S3’ as a dtype argument in the np. empty() function.
- It takes only shape and data type as arguments.
Example:
Let’s take an example to check how to create a numpy empty string array
Here ‘S3’ represents to “Unicode string of length 3
Here is the Screenshot of the following given code
Python numpy empty string array
The above code we can use to create an empty string array in Python using NumPy.
Python numpy.where() функция с несколькими условиями
Несколько условий могут быть применены вместе с функцией для управления элементами массива в соответствии с несколькими условиями.
Синтаксис:
numpy.where((condition1)&(condition2)) OR numpy.where((condition1)|(condition2))
Пример 1:
import numpy as np data = np.array(, , ]) data_set = np.where((data!=20)&(data<40)) print(data)
В этом примере мы отобразили все элементы массива, значения данных которых меньше 40 и не равны 20.
Выход:
Пример 2:
import numpy as np data = np.array(, , ]) data_set = np.where((data<20)|(data>40)) print(data)
В приведенном выше фрагменте кода отображаются все значения данных, удовлетворяющие любому из указанных условий, т. Е. отображаются элементы массива менее 20, а также элементы массива более 40.
Вывод :
Python numpy shape vs reshape
- In this section, we will discuss Python NumPy shape vs reshape.
- Np. reshape will copy the data if it cannot make a proper view, whereas getting the shape will raise an error instead of copying the data.
- The shape function will always give a tuple of array dimensions and can easily be used to change the dimensions of an array.
- The reshape function gives a new shape to an array without changing its value. It creates an array and does not update the original array itself.
- The shape function always returns a tuple that tells us the length of each dimension while in the case of reshape function It returns a new value on the existing data if possible either than create a full copy of the original array.
Example:
In the above code, we will import a NumPy library and create an array using the function numpy. array. Now, we can use an np.reshape() function to display the new array in the form of a 2*2 matrix. Along with that, we will equate with the function and it will return the array of dimensions in the form shape.
Here is the Screenshot of the following given code
Python numpy shape vs reshape
Read Valueerror: Setting an array element with a sequence