- ndarray
- shape
- ndarray는 1가지 데이터 타입을 유지해준다. 하지만, dtype을 설정하면 설정해준 데이터 타입으로 ndarray가 설정된다.
arr=np.array([1, 2, 3, "1234", "테디"], dtype=int) arr # 이것은 Error가 뜬다. 왜냐하면 테디를 정수형으로 바꿔줄 수 없기 때문이다
- slicing
- indexing
💛 fancy indexing
💛 boolean indexing: 조건 필터링을 이용해서 인덱싱 시켜주기.
조건 필터링을 걸고, 다시 필터링을 걸어줘야 내가 원하는 값을 출력할 수 있다.
- arange: np.arange(start, stop, step)을 이용해서 내가 원하는 연속되는 값을 구해준다.
- range: 반복문을 이용하는 경우에 자주 사용한다.
- 1차원 정렬
기본적으로 오름차순이지만, 내림차순을 해주고 싶은 경우에는 [ : : -1]을 추가해주면 된다.- 2차원 정렬
cf. 2차원을 정렬해주는 방법: ⭐ 축을 설정해주기
조금 헷갈릴수 있는데, 손으로 그어가면서 코딩해주면 좀 낫다~!
- 인덱스를 반환해주는 정렬: argsort
argsort도 sort와 똑같이 해주면 된다.
⭐ 그런데, argsort와 sort 모두 유지가 불가능하기 때문에, 반드시 새로운 변수에 다시 할당해줘야 한다.
⭐ Matrix의 사칙연산
- 덧셈
일반 덧셈: shape가 동일해야 한다.
sum: 2차원 배열인 경우, 축을 지정해줘야 한다.np.sum(a, axis=0) np.sum(a, axis=1)
- 뺄셈: shape가 동일해야 한다.
- 곱셈
일반 곱셈: shape가 동일해야 한다.
내적: 일반 곱셈과는 다르다. 맞닿는 부분의 shape가 동일해야 한다.np.dot(a,b)
⭐ Matrix의 플러스 알파
- Broadcasting: python이 찰떡같이 알아들어서 모양을 맞춰서 계산을 해준다.
Numpy에서 2차원 배열은 axis와 shape가 중요하다~!
그리고 Numpy는 연산을 위한 도구임으로, 잘 기억해두고 데이터를 전처리할 때 잘 이용하기~!