Python
Python 데이터 분석(주피터노트북) - 넘파이(1)
developers developing
2022. 10. 17. 12:00
빅데이터 분석을 위한 파이썬 라이브러리
- Numpy : 과학계산 및 수학계산
- pandas : 데이터 처리 및 분석
- matplotlib, seaborn : 데이터 시각화
- plotly : 오픈 소스인 대화형의 고품질 도면 및 인터렉티브한 그래픽 라이브러리
- SciPy : 신초 처리, 최적화, 과학 계산 및 통계 처리
- BeautifulSoup : HTML과 XML 에서 정보를 수집
- Scrapy : 웹 크롤링 및 데이터 수집
- TensorFlow : 머신러닝 및 딥러닝
- Keras : 신경망 라이브러리 및 딥러닝
- NLTK : 자연어 처리
Numpy (Numerical Python)
- 파이썬의 수치 해석 프로그램인 Numeric 를 개선, 보완한 패키지
- 산술 계산을 위한 가장 중요한 필수 패키지
- 효율적인 다차원 배열인 ndarray는 빠른 배열 계산과 유연한 브로트캐스팅 기능 제공
- 반복문을 작성할 필요 없이 전체 데이터 배열을 빠르게 계산할 수 있는 표준 수학 함수
- 배열 데이터를 디스크에 쓰거나 읽을 수 있는 도구와 메모리에 적재된 파일을 다루는 도구
- 선형대수, 난수 생성기, 푸리에 변환 기능
- 이미지와 컴퓨터 그래픽을 빠르게 처리
- C, C++, 포트란으로 작성한 코드를 연결할 수 있는 C API 제공
- 넘파이 배열
- 벡터와 매트릭스를 배열이라고 함
- 벡터(1차원), 매트릭스(2차원), 텐서(3차원 이상)
- 논리적이고 통계적인 연산과 푸리에 변환 같은 연산을 매우 효율적으로 처리
- 머신러닝에서 사용되는 주요 데이터 구조
- ndarray 클래스 - 넘파이 배열 클래스 타입
- 다차원 배열을 쉽게 생성하고 다양한 연산 수행
- np.array(ndarray로 변환을 원하는 객체)
- shape - 차원과 크기를 튜플 형태로 돌려줌
- ndim - n dimesion(차원 확인)
1) np.array([리스트]) : python의 리스트를 이용해 배열 생성
1차원 배열(벡터)
2차원 배열
2) ndim : 차원 수
3) dtype : data type
- 파이썬의 리스트와 넘파이 배열과의 가장 큰 차이점은 넘파이 경우에는 같은 타입으로만 구성되어야함
4) astype(변환할 타입)
넘파이 배열 생성 함수
1) arange(n) : 0 ~ n-1 까지 값을 순차적으로 ndarray 값으로 생성
- arange == python에서 range
2) zeros(행,열) : 0으로 채워서 ndarray 반환
3) ones(행,열) : 1로 채워서 ndarray반환
4) np.empty(행,열) : 무작위 값으로 ndarray 생성
- 속도는 empty가 제일 빠르다고 알려져 있음
5) np.full((행,열), 채울값) : 지정된 값으로 채워서 ndarray 생성
6) np.eye() : 단위행렬로 ndarray 생성
- 가운데 값 = 1
7) np.linspace(시작값, 마지막값, 전체개수) : 명시된 간격으로 균등하게 분할된 ndarray 생성
8-1) np.random.rand(행,열) : 0~1사이의 숫자가 랜덤으로 생성
- random : 실행할 때마다 값이 다름
8-2) np.random.randn((행,열)) :정규분포로 샘플링 된 랜덤 ndarray 생성
9) np.random.randint(시작값, 마지막값,(행,열)) : 지정해 준 정수로 된 랜던 ndarray 생성
※ seed (임의의 수) : 랜덤한 값을 동일하게 다시 생성하고자 할 때 사용
- 계속 실행해도 같은 값이 출력
10) choice() : 주어진 1차원 ndarray로부터 랜덤하게 샘플링