Размеры массива Numpy



В настоящее время я пытаюсь изучить Numpy и Python. Учитывая следующий массив:



import numpy as N
a = N.array([[1,2],[1,2]])


есть ли функция, которая возвращает размеры a (например, A-это массив 2 на 2)?



size() возвращает 4, и это не очень помогает.

831   6  

6 ответов:

Это .shape:

ndarray.формы
Кортеж размеров массива.

таким образом:

>>> a.shape
(2, 2)
import numpy as np   
>>> np.shape(a)
(2,2)

также работает, если вход не массив numpy, а список списков

>>> a = [[1,2],[1,2]]
>>> np.shape(a)
(2,2)

или кортеж кортежей

>>> a = ((1,2),(1,2))
>>> np.shape(a)
(2,2)

первый:

по соглашению, в мире Python, ярлык для numpy и np, так:

In [1]: import numpy as np

In [2]: a = np.array([[1,2],[3,4]])

второй:

В Numpy,измерение,оси/осей,формы связаны и иногда похожи понятия:

измерение

на Математика/Физика, размерность или размерность неофициально определяется как минимальное количество координат, необходимых для указания любых точка в пространстве. Но в включает в себя, согласно numpy doc, это то же самое, что ось/оси:

в Numpy размеры называются осями. Количество осей-это ранг.

In [3]: a.ndim  # num of dimensions/axes, *Mathematics definition of dimension*
Out[3]: 2

оси/осей

the nth координаты для индексирования array в Numpy. И многомерные массивы могут иметь один индекс на ось.

In [4]: a[1,0]  # to index `a`, we specific 1 at the first axis and 0 at the second axis.
Out[4]: 3  # which results in 3 (locate at the row 1 and column 0, 0-based index)

формы

описывает сколько данных (или диапазон) вдоль каждой оси.

In [5]: a.shape
Out[5]: (2, 2)  # both the first and second axis have 2 (columns/rows/pages/blocks/...) data

вы можете использовать .форма

In: a = np.array([[1,2,3],[4,5,6]])
In: a.shape
Out: (2, 3)
In: a.shape[0] # x axis
Out: 2
In: a.shape[1] # y axis
Out: 3

The shape метод требует, чтобы a быть Numpy ndarray. Но Numpy также может вычислять форму итераций чистых объектов python:

np.shape([[1,2],[1,2]])

можно использовать .ndim для измерения и .shape чтобы узнать точное измерение

var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]])

var.ndim
# displays 2

var.shape
# display 6, 2

вы можете изменить размер, используя .reshape функции

var = np.array([[1,2,3,4,5,6], [1,2,3,4,5,6]]).reshape(3,4)

var.ndim
#display 2

var.shape
#display 3, 4

Comments

    Ничего не найдено.