현재 Numpy와 Python을 배우려고합니다. 다음과 같은 배열이 주어집니다.
import numpy as np
a = np.array([[1,2],[1,2]])
a
(ega는 2 x 2 배열입니다) 의 차원을 반환하는 함수가 있습니까?
size()
4를 반환하고 그다지 도움이되지 않습니다.
답변
답변
먼저:
관습 적으로 파이썬 세계에서 바로 가기 numpy
는 다음 np
과 같습니다.
In [1]: import numpy as np
In [2]: a = np.array([[1,2],[3,4]])
둘째:
Numpy에서 dimension , axis / axes , shape 는 관련이 있으며 때로는 유사한 개념입니다.
치수
에서는 수학 / 물리 치수 또는 비공식적 차원 공간 내의 임의의 점을 지정하기 위해 필요한 좌표의 최소 개수로 정의된다. 그러나 Numpy 에서 numpy doc 에 따르면 축 / 도끼와 동일합니다.
Numpy 치수에서 좌표축이라고합니다. 축 수는 순위입니다.
In [3]: a.ndim # num of dimensions/axes, *Mathematics definition of dimension*
Out[3]: 2
축 / 축
은 n 번째 인덱스에 좌표 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
답변
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)
답변
.shape를 사용할 수 있습니다
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
답변
.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
답변
이 shape
방법은 a
Numpy ndarray 가 필요합니다 . 그러나 Numpy는 순수한 파이썬 객체의 이터 러블 모양을 계산할 수도 있습니다.
np.shape([[1,2],[1,2]])
답변
a.shape
의 한정된 버전입니다 np.info()
. 이것 좀 봐:
import numpy as np
a = np.array([[1,2],[1,2]])
np.info(a)
밖
class: ndarray
shape: (2, 2)
strides: (8, 4)
itemsize: 4
aligned: True
contiguous: True
fortran: False
data pointer: 0x27509cf0560
byteorder: little
byteswap: False
type: int32