20221018
10일차
Numerical 이란 단어의 사전적 의미는 '수의 관한' 이다.
Numpy; 'Numerical python',
파이썬에서 수의 관해 따로 배열 형태로 만들어 놓은것이다.
행렬 및 벡터 연산에 필요한 다양한 함수를 제공하고
빠른 연산을 처리할 수 있는 장점이 있다.
* 리스트 객체보다 연산 속도가 빠름
import 기능으로 numpy를 추가하고 as 구문으로 별칭으로 바꿀 수 있다.
* arry (배열) axis(중심선)
다차원 배열으로 데이터 구조가 표현 가능하며
여러가지 연산 및 함수 표현이 가능하다.
np.arra()를 통해 만들수 있고 클래스 처럼 배열 속성을 저장하여
출력할 수 있다.
type()으로 봤을때 리스트와 numpy가 다르다는것을 알 수 있다.
numpy는 자료형을 numpy배열로 바꿔 줄 수 있다.
머신러닝에서 기반 데이터로 numpy를 자주 쓴다.
배열 요소의 개수라든지 데이터 타입 전반적인 요소들을 확인할 수 있다.
arr2가 float일때 행렬 2*3구조로 변환하기 위해서
원본 데이터와 변환하려는 데이터의 개수가 같아야 한다.
Numpy 객체의 정보를 편하게 확인하기 위해서
함수를 만들어 놓으면 아주 편하다.
리스트 안에는 여러가지 아이템이 올 수 있는데 만약 타입이 일관되지 않는다면
우선순위 순으로 내부 데이터 타입이 통합 된다.
* str > float > int
리스트로 다차원의 리스트를 생산해서 numpy로 변환할 수 있다.
원하는 numpy 배열을 DIY 할 수 있다.
배열에서 사용하는 데이터 타입의 기본형은 float 이다.
zeros 는 초기값을 0으로
ones 는 초기값을 1로
full은 지정한 수를 초기값으로
eye는 설정한 shape의 중심을 표시하는 배열
empty는 직전에 사용한 행렬을 불러온다.
like 함수는 전달받은 배열과 동일한 shape으로 만들어 준다.
linspace는 원하는 범위에서 균등한 간격으로 일정 개수개의 데이터를 가지는 배열을 생성한다.
0~1 까지의 범위에서 5개의 수를 포함하는 배열을 보고 싶다면 위와 같이 만들어준다.
arange는 파이썬의 내장 함수 range()와 유사하다.
* arange() 메서드로 생성된 배열과 shape(1,5)인 배열은 shape와 dimension이 서로 다르다.
logspace는 값을 로그로 치환하여 보여주는 느낌이다.
* log는 밑을 10으로 기본값을 가진다.
배열 생성 및 초기화를 들어가기 전에 분포의 종류와
분산과 표준편차에 대해 꼭 알아둬야 한다.
평균과 표준편차의 구간의 수, 표준편차 값의 차이 등등
난수가 나왔을 때 어떤 형태로 데이터가 밀집되어 있는지 알아야 했다.
난수는 보통 random으로 표시된다.
random.normal을 쓰면 대입한 평균와 표준편차를 토대로 범위 안에있는 난수를 보여준다.
보통 가장 많이 분포되어있는 난수가 나올 확률이 높다.
범위안의 난수들을 사이즈를 설정해 맞춰서 보여주는 사진이다.
이제 시각화를 위해 임포트를 해주고
만들었던 데이터를 구간의 개수를 정해 시각화 하면 위의 사진과 같이 나온다.
random.rand는 난수들을 균등 분포로 추출하는 것이다.
1000개의 데이터(난수)를 원하는 구간으로 설정하여 시각화 하면
이렇게 균등한 그래프가 나온다.
random.randn은 배열을 생성하고 난수로 초기화 할 수 있다.
* 여기서 n은 nomal의 약자이다.
random.randint는 범위를 지정하여 수를 추출 할 수 있다.
난수는 무작위의 숫자 이기에 그냥 랜덤으로 아무거나 출력 되는것 처럼 보이지만
실상은 그렇지 않다. (고정된 기준을 가지고 규칙적으로 생성됨)
난수의 시작점을 np.random.seed() 설정하면
같은 값의 난수들만 모이는것을 볼 수 있다.
random.seed()로 초기화도 가능하다!
'Hello python! > Python_DA' 카테고리의 다른 글
파이썬 데이터분석_pandas_DataFrame (0) | 2022.10.29 |
---|---|
파이썬 데이터분석_Pandas_Series 자료형 (0) | 2022.10.23 |
파이썬 데이터분석_numpy변환(정렬, 참조, 복사)2 (0) | 2022.10.23 |
파이썬 데이터분석_numpy변환(정렬, 참조, 복사) (0) | 2022.10.22 |
파이썬 데이터분석_Numpy_연산 (0) | 2022.10.20 |