일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- html
- 안드로이드
- matlab
- win32com
- pyqt5
- git
- 파이썬GUI
- 깃
- Windows11
- 엑셀
- 파이썬
- 문자열
- python
- 아웃룩
- Excel
- 윈도우10
- python3
- office
- windows
- pandas
- Windows10
- 윈도우11
- 파이썬3
- Outlook
- Android
- 파워포인트
- 비주얼베이직
- 오피스
- pythongui
- VBA
Appia의 IT세상
파이썬[Python] 052 Ndarray 속성 - Numpy005 본문
이번 포스팅에서는 Numpy관련된 부분에 대해서 이야기를 드리고자 합니다. 앞서 부분들에서 Ndarray생성하는 부분들에 대해서 이야기를 했습니다. 그럼 이번에는 앞서서 생성한 Ndarray에 대한 속성들에 대해서 이야기를 드리고자 합니다. Numpy에서는 확실히 Ndarray가 중심이기 때문에 반드시 알아 둬야 한다고 생각이 듭니다. 그럼 이번 포스팅에서 다루어질 속성은 다음과 같습니다.
ndarray.shape - 배열 구조에 대해서 명시
ndarray.ndim - 배열의 dimension, 즉 몇차원인지에 대해서 명시
numpy.itemsize - 배열 각 맴버의 바이트 크기를 리턴
numpy.flags - 배열에 속서에 대한 정보 값 나타냄. (예시 참조)
그럼 하나씩 살펴보도록 하겠습니다.
ndarray.shape
위에서 언급한바와 같이 배열 구조 즉 몇 x 몇 배열인지에 대해서 명시해주는 함수입니다. 그럼 다음 예시를 살펴보도록 하겠습니다.
1 2 3 | import numpy a = numpy.array([[1,2,3],[4,5,6],[7,8,9]]) print(a.shape) | cs |
위의 예시를 실행하면 다음과 같은 결과가 나옵니다.
1 | (3, 3) | cs |
위에서 보는 바와 같이 형태에 대해서 (3,3) 배열인 것을 명시해줍니다.
ndarray.ndim
ndim은 위의 설명에서와 같이 배열인 몇차원인지에 대해서 명시해주는 함수입니다. 그럼 위에서 ndarray.shape에서 사용한 예시를 그대로 활용해 보겠습니다.
1 2 3 | import numpy a = numpy.array([[1,2,3],[4,5,6]]) print(a.ndim) | cs |
위의 결과는 다음과 같이 2가 나올 것입니다. 즉 a란 배열이 2차 배열이기 때문입니다.
1 | 2 | cs |
numpy.itemsize
실제 이 부분은 배열의 데이터 사이즈를 입력할 때 쉽게 추측할 수 있습니다. 하지만, 한번 다음예제를 보면서 각 맴버들의 사이즈가 어떻게 되는지 살펴보도록 하겠습니다.
1 2 3 4 5 | import numpy x = numpy.array([1,2,3,4,5], dtype = numpy.int8) x1 = numpy.array([1,2,3,4,5], dtype = numpy.float32) print(x.itemsize) print(x1.itemsize) | cs |
위의 결과는 다음과 같이 나옵니다.
1 2 | 1 4 | cs |
8비트는 1바이트이고, 32비트는 4바이트이죠. 이와 같이 결과가 나옵니다. 이제는 가장
numpy.flags
배열에 특정 속성들에 대해서 명시 해줍니다. 주요 다 보지는 않습니다. 하지만, WRITEABLE 같은 경오는 종종 보는 것 같습니다. (예제에서 주석 부분으로 명시 )
1 2 3 | import numpy x = numpy.array([1,2,3,4,5]) print(x.flags) | cs |
위의 예제를 실행하면 다음과 같이 결과가 나옵니다.
1 2 3 4 5 6 | C_CONTIGUOUS : True # Data가 C언어 기반의 데이터 세그먼트인지에 대한 확인 F_CONTIGUOUS : True # Data가 Fortran언어 기반의 데이터 세그먼트인지에 대한 확인 OWNDATA : True #객체가 메모리를 직접 소유하는지 아니면, 다름 객체를 참조하고 있는지 확인 WRITEABLE : True #쓸수 있는지 즉, False의 경우, Read-Only ALIGNED : True UPDATEIFCOPY : Fals #배열이 다른 배열을 복사한것인지에 대해 확인 | cs |
물론 flags의 경우 아직 많이 공부가 필요한 상태입니다. 혹 추가적인 정보들이나 제가 틀린 부분에 대해서 언급 및 정정 부탁드립니다. 긴글 읽어주셔서 감사합니다.
'Python > Python Numpy' 카테고리의 다른 글
파이썬[Python] 054 바이너리(binary) 읽기(frombuffer), 쓰기(tobytes) - Numpy007 (0) | 2020.03.02 |
---|---|
파이썬[Python] 053 기존 데이터를 이용한 Ndarray생성(asarray, fromiter) - Numpy006 (0) | 2020.03.01 |
파이썬[Python] 047 Ndarray 생성 방법들 - Numpy004 (0) | 2020.02.22 |
파이썬[Python] 042 데이터 타입(dtype) 객체 및 데이터 타입(Data Type) - Numpy003 (0) | 2020.01.31 |
파이썬[Python] 041 Ndarray 객체 - Numpy002 (1) | 2020.01.30 |