수강한 강의
37강. Ch06. numpy - 07. arrange, range / 38강. Ch06.numpy - 08. 정렬(sort) / 39강. Ch06.numpy - 09. 인덱스를 반환하는 argsort
오늘은 어제에 이어서 numpy에서 사용되는 arrange와 range의 차이점과 배열 정렬, 생성된 배열을 인덱스로 반환하여 출력하는 argsort에 관해서 작성해보겠습니다.
-
37강. Ch06. numpy - 07. arrange
-
arrange란?
- arrange와 range를 같이 보고 이해하면 된다.
- arrange : array를 생성하기 위해서 사용
- range : for 문을 사용할 때 범위를 지정해주기 위해서 사용
-
순서대로 리스트에 값을 생성하려면?
1 ~ 10까지 값을 생성하려면?arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] arr
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
-
arrange를 사용해서 쉽게 생성하기
-
첫 번째 인자에는 start 이상, 두 번째 인자에는 stop의 미만이 들어간다.
arr = np.arange(start=1, stop=11) arr
array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
arr = np.arange(stop=11, start=1) arr
array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
-
keyword 인자는 파라미터(인자)의 keyword를 지정해줌으로썬 순서 없이 지정해 줄 수 있다.
-
keyword 인자를 사용하게 되면 순서를 바꿔서 작성을 해도 인자로 작성이 되어있기 때문에 상관이 없습니다.
-
-
홀수의 값만 생성
1 ~ 10 사이의 값 중 홀수만 생성arr = np.arange(1, 11, 2) # arr = np.arange(start = 1, stop=11, step=2) arr
array([1,3,5,7,9])
- 지정된 범위 내에서 홀수만을 뽑아내긴 위해서 step이라는 keyword를 사용합니다.
- step keyword는 정해진 숫자만큼 건너뛰면서 숫자를 나타내게 해 준다. 위의 코드처럼
np.arrange(start=1, stop=11, step=2)
이렇게 작성을 하게 되면 1부터 10까지의 범위 내에서 2씩 건너뛰게 된다. 그러면1, 3, 5, 7, 9
이렇게 나오게 된다. 결국엔 홀수 값만이 나오게 된다.
-
range (numpy와는 상관없는 python 문법)
- range는 말 그대로 범위를 지정해 주는 것
- np.arrange와 헷갈리면 안 된다.
- 보통 for in의 반복문에서 많이 사용
arr = np.arange(1, 11) arr
array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
for i in arr: print(i)
- for문도 arrange와 동일하게 step keyword를 사용하여 중간 단계를 만들어서 출력을 할 수 있다.
-
-
38강. Ch06.numpy - 08. 정렬(sort)
-
정렬(sort)을 하기 위해서는 위에 사진과 동일하게 sort() 함수를 이용하면 정렬을 사용할 수 있다.
-
기본적으로. sort()를 사용하게 오름차순 정렬을 수행하게 된다.
-
그리고 윗 사진처럼. sort()[::-1]로 작성을 하게 되면 내림차순 정렬이 되게 된다.
-
하지만, 이 값들은 유지가 되지 않기 때문에 특정 변수를 지정해 주어야 하고, 값이 sort 된 상태로 저장하려면, 배열 자체에 sort를 해주면 된다.
-
N차원 정렬
-
윗 사진은 2차원 배열을 선언을 해주고, 선언한 배열을 정렬해줄 때, 배열 변수 값뿐만 아니라 축 axis 값도 같이 넣게 되면 해당하는 축의 값을 기준으로 정렬이 발생하게 된다.
-
윗 사진은
axis = 1
을 해주면, 각 행에 나열된 값들끼리 만 정렬을 하게 되고,axis = 0
을 해주게 되면, 각 행의 첫 번째 값들을 비교하여 정렬을 하게 된다. -
사진에서는 각 행의 첫 번째 값들이
5, 4, 10
이기 때문에 그에 맞는4, 5, 10
의 순으로 정렬이 되게 된다.
-
-
39강. Ch06.numpy - 09. 인덱스를 반환하는 argsort
- argsort() 함수는 정렬된 값을 반환하는 것이 아닌 index를 반환하게 된다.
- 예시 사진은 아래와 같다.
arr2d = np.array([[5, 6, 7, 8], [4, 3, 2, 1], [10, 9, 12, 11]])
- 3-1을 보시게 되면 배열 arr2d를
argsort()
함수 안에 넣고,axis = 1
을 해주게 되면, 각 행에 나열된 값들의 인덱스 값들이 각 행마다 표현되게 된다. - 3-2은 2차원 배열에
sort()
함수와argsort()
함수를 사용하여 각각 나오는 값들을 비교한 것이다. sort()
를 사용한 것은 위에서 설명한 것처럼 행의 첫 번째 값들을 비교하여 정렬을 시킨것이고,argsort()
를 사용한 것은sort()
함수와 마찬가지로 각 행의 첫번째 값들을 비교하는 것 까지는 같다. 하지만 다른 점은 비교한 값의 인덱스 값이 그 행의 모든 열에 적용되게 된다.
이로서 오늘 numpy에서의 arrange와 range 비교와 정렬 함수 sort()
와 정렬한 뒤에 index값을 나타내는 argsort()
에 관한 것을 공부해봤습니다.
-
데이터 분석
-
홈페이지에서 강의 찾는 방법
패스트 캠퍼스 -> 온라인 -> 올인원 패키지 -> [데이터 분석 강의 보러 가기] -> 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online.
패스트 캠퍼스 - [데이터 사이언스] 직장인을 위한 파이썬 데이터 분석
'데이터 분석' 카테고리의 다른 글
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 7일차 (0) | 2021.03.02 |
---|---|
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 6일차 (0) | 2021.03.01 |
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 4회차 (0) | 2021.02.26 |
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 3회차 (0) | 2021.02.25 |
[패스트 캠퍼스 수강 후기] 직장인을 위한 파이썬 데이터 분석 올인원 패키지 Online 2회차 (0) | 2021.02.16 |
댓글