Python
Python 데이터 분석(주피터노트북) - 넘파이(인덱싱, 데이터 형태)(2)
developers developing
2022. 10. 18. 12:00
인덱싱
- 특정한 데이터 추출 : 원하는 위치의 인덱스 값 지정
- 슬라이싱(slicing) : 연속된 인덱싱 상의 ndarray 추출
- 팬시 인덱싱(Fancy Indexing) : 일정한 인덱싱 집합을 리스트로 또는 ndarray 형태로 지정해 해당 위치에 있는 데이터의 ndarray 반환
- 불린 인덱싱(Boolean Indexing) : 특정 조건에 해당하는지 여부인 True/False 값 인덱싱 집합을 기반으로 True에 해당하는 인덱스 위치에 있는 데이터의 ndarray 반환
1. 기본 개념 및 파이썬 복습
1) 1차원
2) 2차원 행렬
- 특정 요소의 접근을 원한다면 행렬로 가능
3) 3차원 행렬
2. 슬라이싱(slicing) : 연속된 인덱싱 상의 ndarray 추출
1) 1차원
2) 2차원
3. 팬시 인덱싱(Fancy Indexing)
4. 불린 인덱싱(Boolean Indexing)
데이터 형태 변경
- ravel / flatten
- 다차원 배열을 1차원으로 변경
- ravel과 flatten 차이
- ravel : 원본의 데이터와 연결됨
- flatten : 원본의 데이터를 복사해서 가지고 있음(연결되지 않음)
- reshape()
- ndarray 차원 변경
- reshape 한 후 결과의 전체 원소 개수와 이전 개수가 같아야 가능
1) ravel()
2) flatten()
- numpy.flatten(x) : AttributeError: module 'numpy' has no attribute 'flatten'
3) ravel과 flatten 차이
3차원
4) reshape() : ndarray 차원 변경
- reshape 한 후 결과의 전체 원소 개수와 이전 개수가 같아야 가능
- 개수가 다르면 에러발생
- ValueError: cannot reshape array of size 10 into shape (3,5)