Как заполнить массив нулями python
In this article, we will discuss how to create an array of zeros in Python. In array items are stored at contiguous memory locations and here we will try to add only Zeros into the array with different methods.
Here we will cover different approaches to creating a zero’s element array. The different approaches that we will cover in this article are:
- Using simple multiplication
- Using loop
- Using List comprehension
- Using the In-Build method numpy.zeros() method
- Using itertools.repeat() Function
- using the bytearray
Method 1: Using simple multiplication
In this example, we are multiplying the array of zero to 9. In return, we will get an array with 9 elements of 0’s.
Python3
Output:
Method 2: Using a loop
In this example, we are creating a 0’s array using a for loop of range from 0 to 10.
Python3
Output:
Method 3: Using List comprehension
Example 1: Creating 1D array using list comprehension
As we know here for loop will generate such a list, and we iterate zero within the list till the given range.
Python3
Output:
Example 2: Creating 2D array using list comprehension
In this example, we are creating a 2-D array using a list comprehension in python to create 0’s of 5 rows and 10 columns.
Python3
Output:
Method 4: Using the In-Build method numpy.zeros() method
In this example, we are creating a NumPy array with zeros as the numpy.zeros() function is used which returns a new array of given shape and type, with zeros.
Python3
Output:
In the output, i4 specifies 4 bytes of integer data type, whereas f8 specifies 8 bytes of float data type.
Method 5: Using itertools.repeat() Function
Itertools module is a memory-efficient tool that is used either by itself or in combination to form iterator algebra.
Here we create an iterator using repeat() function, this function takes the value as its first argument, and then the second argument take the number of repetition of the values.
Below the example, we take 0 as a value and the second parameter 5 is the number of repetitions and then convert the temp_var into list.
Предисловие переводчика
Продолжаем перевод статьи о numpy в python. Для тех кто не читал первую часть, сюда: Часть 1. А всем остальным — приятного чтения.
Другие пути создания массивов
Функция arange аналогична функции range, но возвращает массив:
Функции zeros и ones создают новые массивы с установленной размерностью, заполненные этими значениями. Это, наверное, самые простые в использовании функции для создания массивов:
Функции zeros_like и ones_like могут преобразовать уже созданный массив, заполнив его нулями и единицами соответственно:
Также есть некоторое количество функций для создания специальных матриц. Для создания квадратной матрицы с главной диагональю, которая заполненная единицами, воспользуемся методом identity:
Функция eye возвращает матрицу с единичками на к-атой диагонали:
Математические операции над массивами
Когда для массивов мы используем стандартные математические операции, должен соблюдаться принцип: элемент—элемент. Это означает, что массивы должны быть одинакового размера во время сложения, вычитания и тому подобных операций:
Для двухмерных массивов, умножение остается поэлементным и не соответствует умножению матриц. Для этого существуют специальные функции, которые мы изучим позже.
При несоответствии в размере выбрасываются ошибки:
Однако, если размерность массивов не совпадает, они будут преобразованы для выполнения математических операций. Это зачастую означает, что меньший массив будет использован несколько раз для завершения операций. Рассмотрим такой пример:
Тут, одномерный массив b был преобразован в двухмерный, который соответствует размеру массива a. По существу, b был повторен несколько раз, для каждой «строки» a. Иначе его можно представить так:
Python автоматически преобразовывает массивы в этом случае. Иногда, однако, когда преобразование играет роль, мы можем использовать константу newaxis, чтобы изменить преобразование:
Вдобавок к стандартным операторам, в numpy включена библиотека стандартных математических функций, которые могут быть применены поэлементно к массивам. Собственно функции: abs, sign, sqrt, log, log10, exp, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh, arccosh, и arctanh.
Функции floor, ceil и rint возвращают нижние, верхние или ближайшие (округлённое) значение:
Также в numpy включены две важные математические константы:
Перебор элементов массива
Проводить итерацию массивов можно аналогично спискам:
Для многомерных массивов итерация будет проводиться по первой оси, так, что каждый проход цикла будет возвращать «строку» массива:
Множественное присваивание также доступно при итерации:
Базовые операции над массивами
Для получения каких-либо свойств массивов существует много функций. Элементы могут быть суммированы или перемножены:
В этом примере были использованы функции массива. Также можно использовать собственные функции numpy:
Для большинства случаев могут использоваться оба варианта.
Некие функции дают возможность оперировать статистическими данными. Это функции mean (среднее арифметическое), вариация и девиация:
Можно найти минимум и максимум в массиве:
Функции argmin и argmax возвращают индекс минимального или максимального элемента:
Для многомерных массивов каждая из функций может принять дополнительный аргумент axis и в зависимости от его значения выполнять функции по определенной оси, помещая результаты исполнения в массив:
Как и списки, массивы можно отсортировать:
Значения в массиве могут быть «сокращены», чтобы принадлежать заданному диапазону. Это тоже самое что применять min(max(x, minval), maxval) к каждому элементу x:
Уникальные элементы могут быть извлечены вот так:
Для двухмерных массивов диагональ можно получить так:
Вот и вторая статья подошла к концу. Спасибо за уделенное внимание и удачи в ваших начинаниях! До скорой встречи.
Создание массива Numpy с нулями в Python
Чтобы создать массив numpy с нулями в Python, учитывая форму массива, используйте функцию numpy.zeros().
Синтаксис для создания массива:
- shape может быть целым числом для одномерного массива и кортежем целых чисел для массива ND.
- dtype – это тип данных элементов, хранящихся в массиве. По умолчанию считается, что элементы относятся к типу float. Вы можете указать тип данных.
- C и F – допустимые значения для порядка. Это влияет только на то, как данные хранятся в памяти. C: C-стиль хранения многомерных данных в основной памяти строк. F: стиль Fortran для хранения многомерных данных в основном столбце в памяти.
В основном мы используем только параметр формы.
Пример 1: одномерный массив
Чтобы создать одномерный массив нулей, передайте количество элементов в качестве значения в параметр формы.
В этом примере мы создадим массив numpy с 8 нулями.
Массив Numpy (одномерный) размера 8 создается с нулями. Тип данных по умолчанию – float.
Пример 2: двумерный массив
Чтобы создать двумерный массив нулей, передайте форму, то есть количество строк и столбцов, в качестве значения параметра формы.
В этом примере мы создадим массив numpy с 3 строками и 4 столбцами.
Обратите внимание, что мы предоставили фигуру, как набор целых чисел.
Массив Numpy (2-мерный) формы (3,4) создается с нулями. Тип данных по умолчанию – float.
Пример 3: трехмерный массив
Чтобы создать трехмерный массив нулей, передайте фигуру как кортеж в параметр формы.
В этом примере мы создадим массив numpy с формой (3,2,4).
Обратите внимание, что мы предоставили фигуру как набор целых чисел.
Массив Numpy (3-мерный) формы (3,2,4) создается с нулями. Тип данных по умолчанию – float.
Пример 4: с определенным типом данных
Чтобы создать массив нулей с определенным типом данных, передайте требуемый тип данных в качестве параметра dtype.
В этом примере мы создадим массив numpy с нулями целых чисел типа данных.
В этой статье на примерах Python мы создали numpy массив определенной формы и типа данных, и инициализировали массив нулями.
numpy.zeros
Возвращает новый массив заданной формы и типа,заполненный нулями.
Parameters форма int или кортеж целых чисел
Форма нового массива, например (2, 3) или 2 .
dtypedata-type, optional
Желаемый тип данных для массива, например, numpy.int8 . По умолчанию это numpy.float64 .
порядок <'C', 'F'>, необязательно, по умолчанию: ‘C’
Хранить ли многомерные данные в порядке строк-мажор (C-стиль)или столбцов-мажор (Fortran-стиль)в памяти.
likearray_like, optional
Ссылочный объект, позволяющий создавать массивы, не являющиеся массивами NumPy. Если подобный массиву переданный как like поддерживает протокол __array_function__ , результат будет определяться им. В этом случае он обеспечивает создание объекта массива, совместимого с переданным через этот аргумент.