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.]]