Функция numpy.asarray()

Asarray

Функция asarray() используется, когда нужно конвертировать входные данные в массив. Входными данными могут быть списки, кортежи, массивы numpy (ndarray) и др.

Синтаксис следующий:

numpy.asarray(data, dtype=None, order=None)[source]

В этом синтаксисе:

  • data — данные, которые вы хотите конвертировать,
  • dtype — необязательный аргумент для указания типа данных (если он не задан, то тип данных устанавливается исходя из входящих данных),
  • order определяет порядок хранения массива в памяти. Указывается опционально; по умолчанию задан параметр ‘C’, что означает построковое хранение. Можно поменять на ‘F’ и хранить по колонкам, в стиле Fortran.

Пример:

Рассмотрим двумерную матрицу размером 4Х4, заполненную единицами.

import numpy as np
A = np.matrix(np.ones((4,4)))

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

np.array(A)[2]=2
print(A)			
[[1. 1. 1. 1.]
 [1. 1. 1. 1.] 
 [1. 1. 1. 1.] 
 [1. 1. 1. 1.]]

Матрица — это объект неизменяемого типа. Для внесения изменений можно использовать функцию asarray(). Давайте посмотрим, изменятся ли данные, если мы, например, заменим значения данных второго ряда на цифру 2.

np.asarray(A)[2]=2
print(A)

Пояснения к коду:
np.asarray(A) — конвертируем матрицу А в массив;
[2] — выбираем третий ряд.

Output:

[[1. 1. 1. 1.] 
      [1. 1. 1. 1.] 
      [2. 2. 2. 2.] # new value 
      [1. 1. 1. 1.]]