본문 바로가기
데이터분석/Pandas&Numpy

벡터와 넘파이

by ADELA_J 2023. 5. 8.

https://dev-adela.tistory.com/43

  ▶ 기존에 썼던 넘파이 관련 글이어서... 더 자세히... 풀어보는.....ㅎ.... 


 

- 벡터 = (크기, 방향)

  ▶ 벡터나 행렬을 나타내려면 넘파이를 통해 기능을 확장 가능.

 

- np.array(list  형)

   ▶ 벡터의 성질을 갖게 해줌. 행렬로 만들어줌. => 연산이 가능해짐

   ▶ 벡터로 정의되면 콤마(,) 가 안나옴

- 요소 불러오기 : list 형과 마찬가지로 대괄호 [] 를 사용하여 인덱스넘버를 사용

- 요소 수정 : 리스트[수정할 인덱스 번호] = 값

- np.arange(n) : 요소의 값이 1씩 증가하는 벡터 배열 만들

** ndarray형의 내용을 복사하려면 변수처럼 'b=a'이렇게 하면 안됨.

   동시에 변한다. 그러니까 .copy를 사용해 복사해줘서 b와 a는 서로 관계없이 독립된 변수로 취급하기

- ndarray변수명.shape   : 행렬의 크기 알기 

   ▶ 행렬의 값은 list 인덱스 값과 같음

   ▶ .shape 값으로 나오는 행렬의 크기는 튜플 형태로 나와서 각각 저장해서 출력 가능

-행렬에서 요소 불러오기 

   ▶ 콤마를 구분하여 나타내기 x[1,2] >> 하지만 리스트에서는 안됨

   ▶ 리스트처럼 x[1][2] 도 됨.

       ▷ 이렇게 선택해서 요소를 수정할 수도 있음. 

- 요소가 0과 1인 ndarray 만들기 .

   ▶ np.zeros(size) : size는 행/열 값을 줘서 n*n 행렬을 생성할 수도 있음. ( 튜플형태로 주면됨)

    ▶np.ones(size) : 제로랑 똑같음

- np.random.randn(size) : size 튜플아님. 요소가 랜덤인 행렬 생성해줌. 

- np.random.randint(low, high, size) : low에서 high까지의 임의의 정숫값으로 이뤄진 size 크기의 행렬을 생성할 수 있음.  

- 변수명.reshape(n,m) : 행렬의 크기를 변경할 수 있음. '행*렬 = 요소 수' 같아야 오류안뜨고 실행 

- 행렬의 사칙연산 : +, -, *, / 모두 잘 되구요. (+는 리스트에서는 연결 연산자)

- 스칼라 X 행렬 : 스칼라(방향은 안가지고 있고 크기만 가지고 있음)를 주로 앞에 붙여서 함

 -산술함수 

   ▶ exp(x) : 지수함수

   ▶ sqrt() 제곱근, log()  로그, round(x, 유효자릿수) 반올림, mean() 평균, std() 표준편차, max() 최댓값, min() 최솟값

- 변수명1. dot (변수명2) : 행렬 곱의 계산

    ▼ 예시 하나

   ▼ 행렬 갯수 안맞추면 이렇게 에러 뜹니다...

 

 

- 슬라이싱 : 요소를 한 번에 나타낼 때, 리스트랑 똑같음