numpy.asarray
numpy.asarray(a, dtype=None, order=None)
Функция asarray() преобразует последовательность в массив NumPy.
-
- a - некоторая последовательность
- Входные данные которые могут быть преобразованы в массив: списки и кортежи, списки списков и кортежи кортежей, списки кортежей и кортежи списков, а так же кортежи или списки других массивов NumPy.
- dtype - тип данных NumPy (необязательный)
- Определяет тип данных выходного массива.
- order - 'C' или 'F' (необязательный)
- Этот параметр определяет в каком порядке массивы должны храниться в памяти: строчном C-стиле или столбчатом стиле Fortran. По умолчанию установлен в 'C'.
-
- результат - массив NumPy
- Интерпретация входных данных
a
, как массива NumPy. Если входные данные являются массивом NumPy, то никакое копирование данных не выполняется (эквивалентноarray(a, dtype, copy=False, order=order)
). Если входные данные являются подклассомndarray
, то возвращается базовый классndarray
.
Примеры
>>> import numpy as np
>>>
>>> # Преобразование последовательностей в массив NumPy:
... a = [1, 2, 3]
>>> np.asarray(a)
array([1, 2, 3])
>>>
>>> b = [[1, 2], [3, 4]]
>>> np.asarray(b)
array([[1, 2],
[3, 4]])
>>>
>>>
>>> # Массивы NumPy не копируются
...
>>> a = np.array([1, 2, 3])
>>> b = np.asarray(a)
>>>
>>> b is a # Данные в 'b' физически те же что и в 'a'
True
>>> a[0] = 77 # Изменения в массиве 'a'
>>> a
array([77, 2, 3])
>>>
>>> b # Повлекут за собой изменения в массиве 'b'
array([77, 2, 3])
>>>
>>>
>>> # Копирование происходит только
... # при несоответствии типов данных массивов
... a = np.array([1,2,3], dtype = np.int8) # одинаковые типы данных
>>> b = np.asarray(a, dtype = np.int8)
>>> b is a
True
>>>
>>> b = np.asarray(a, dtype = np.float32) # разные типы данных
>>> b is a
False
>>>
>>>
>>> # Вместо подкласса будет возвращен базовый класс:
... a = np.mat('1 1; 2 2')
>>> a
matrix([[1, 1],
[2, 2]])
>>>
>>> b = np.asarray(a)
>>> b
array([[1, 1],
[2, 2]])
>>>
>>>
>>> # Список массивов преобразуется в массив:
... a = np.array([1, 1])
>>> b = np.array([2, 2])
>>>
>>> c = [a, b]
>>>
>>> d = np.asarray(c)
>>> d
array([[1, 1],
[2, 2]])