답변:
numpy.array
그냥 만드는 편리한 함수입니다 ndarray
; 그것은 클래스 자체가 아닙니다.
을 사용하여 배열을 만들 수도 numpy.ndarray
있지만 권장되는 방법은 아닙니다. 의 docstring에서 numpy.ndarray
:
배열은
array
,zeros
또는empty
...를 사용하여 구성해야합니다. 여기에 제공된 매개 변수ndarray(...)
는 배열 인스턴스화를위한 저수준 방법 ( )을 나타냅니다.
구현의 대부분은 C 코드에 있으며 여기 multiarray 이지만 ndarray 인터페이스를 살펴볼 수 있습니다.
https://github.com/numpy/numpy/blob/master/numpy/core/numeric.py
np.array
내가 자주하는 것처럼 수업이 아니라는 것을 잊어 버린 경우 물릴 수 있습니다 . x = np.array([1,2.1,3])
if isinstance(x,np.array): # will give you a TypeError
array_getarray
의 구현입니다 numpy.ndarray.__array__
. 적어도 현재 구현에서는에서 numpy.array
시작합니다 _array_fromobject
.
numpy.array
를 반환하는 함수입니다 numpy.ndarray
. numpy.array 객체 유형이 없습니다.
numpy.array와 numpy.ndarray의 차이점을 보여주는 예제 코드 몇 줄
예열 단계 : 목록 구성
a = [1,2,3]
타입 확인
print(type(a))
당신은 얻을 것이다
<class 'list'>
np.array를 사용하여 목록에서 배열 생성
a = np.array(a)
또는 예열 단계를 건너 뛸 수 있습니다.
a = np.array([1,2,3])
타입 확인
print(type(a))
당신은 얻을 것이다
<class 'numpy.ndarray'>
numpy 배열의 유형이 numpy.ndarray임을 알려줍니다.
유형을 확인할 수도 있습니다
isinstance(a, (np.ndarray))
그리고 당신은 얻을 것이다
True
다음 두 줄 중 하나에 오류 메시지가 나타납니다.
np.ndarray(a) # should be np.array(a)
isinstance(a, (np.array)) # should be isinstance(a, (np.ndarray))
numpy.ndarray()
클래스이며, numpy.array()
작성하는 메소드 / 함수 ndarray
입니다.
numpy 문서에서 ndarray
클래스 에서 배열을 만들려면 인용 된대로 두 가지 방법으로 할 수 있습니다.
1- 사용 array()
, zeros()
또는 empty()
방법 :
배열 어레이 0을 사용하거나 비어 생성한다 (또한 참조 아래 부분 참조). 여기에 제공된 매개 변수 ndarray(…)
는 배열 인스턴스화를위한 저수준 방법 ( )을 나타냅니다.
2- ndarray
클래스에서 직접 :
두 가지 모드를 사용하여 배열을 만듭니다__new__
buffer가 None이면 shape, dtype 및 order 만 사용됩니다. buffer가 버퍼 인터페이스를 노출하는 객체 인 경우 모든 키워드가 해석됩니다.
아래 예제는 버퍼 값을 할당하지 않았기 때문에 임의의 배열을 제공합니다.
np.ndarray(shape=(2,2), dtype=float, order='F', buffer=None) array([[ -1.13698227e+002, 4.25087011e-303], [ 2.88528414e-306, 3.27025015e-309]]) #random
또 다른 예는 버퍼 객체에 배열 객체를 할당하는 것입니다.
>>> np.ndarray((2,), buffer=np.array([1,2,3]), ... offset=np.int_().itemsize, ... dtype=int) # offset = 1*itemsize, i.e. skip first element array([2, 3])
위 예제에서 우리는 "buffer"에리스트를 할당 할 수없고 버퍼에 대한 ndarray 객체를 반환하기 위해 numpy.array ()를 사용해야한다는 것을 알 수 있습니다.
결론 : numpy.array()
당신이 numpy.ndarray()
물건 을 만들고 싶다면 사용 "