반응형

Python 7

[Python] enumerate로 list index, value을 튜플로 반환하기

enumerate를 설명하기 전에 random 라이브러리로 shuffle을 사용해서 리스트를 한번 섞어줍니다. 1. random 을 사용해서 list shuffle 하기 (순서를 섞어줍니다.) 소스 코드 import random as rd list1 = list(range(1,11)) print("shuffle전:",list1) # random 으로 list 순서 섞기 (shuffle) rd.shuffle(list1) print("shuffle후:",list1) 결과 shuffle전: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] shuffle후: [3, 9, 8, 4, 10, 5, 6, 1, 7, 2] 2. 위에서 생성한 list를 enumerate로 튜플로 반환해봅니다. enumerate로..

[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(3) - 불린(Boolean) 인덱싱

ndarray의 데이터 인덱싱의 종류를 알아보고 종류별 사용 방법에 대해서 알아보자. 1. 특정 위치의 단일값 추출 - [링크 클릭] 2. 슬라이싱 - [링크 클릭] 3. 팬시 인덱싱 - [링크 클릭] 4. Boolean 인덱싱 이번 시간은 4. Boolean 인덱싱을 사용해보도록 합니다. Boolean 인덱싱은 자주 사용하게 될겁니다. 밑에 예제를 따라해 보시면, 조건을 이용해서 Boolean 값을 반환해서 True인 값만 들어있는 array를 반환할 수 있다는 큰 장점이 있는 인덱싱입니다. (알고리즘 문제에서도 쉽게 문제해결 가능합니다.) 먼저, 아래와 같이 numpy를 임포트 해서 array1d라는 ndarray 하나를 생성해 줍니다. 소스 코드 import numpy as np array1d = ..

[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(2) - 팬시 인덱싱

ndarray의 데이터 인덱싱의 종류를 알아보고 종류별 사용 방법에 대해서 알아보자. 1. 특정 위치의 단일값 추출 - [링크 클릭] 2. 슬라이싱 - [링크 클릭] 3. 팬시 인덱싱 4. Boolean 인덱싱 - [링크 클릭] 이전에는 1.단일값 추출, 2.슬라이싱을 공부했다면, 이번에는 3. 팬시 인덱싱 을 알아보도록 하자. 3. 팬시 인덱싱 팬시 인덱싱은 리스트나 ndarray로 인덱스 집합을 지정하면 해당 위치의 인덱스에 해당하는 ndarray를 반환합니다. 아래 예제를 살펴봅시다. 먼저, shape가 3,3인 ndarray를 생성합니다. 소스 코드 import numpy as np array1d = np.arange(start=1, stop=10) array2d = array1d.reshape(..

[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(1) - 단일 값 추출, 슬라이싱

ndarray의 데이터 인덱싱의 종류를 알아보고 종류별 사용 방법에 대해서 알아보자. 1. 특정 위치의 단일값 추출 2. 슬라이싱 3. 팬시 인덱싱 - [링크 클릭] 4. Boolean 인덱싱 - [링크 클릭] 네가지 인덱싱에 대해서 알아보고 예제를 작성해 보도록 한다. 팬시 인덱싱과 Boolean 인덱싱을 바로 알아보고 싶은 분은 링크 클릭 1. 단일 값 추출 1) 1차원 단일 값 추출 ndarray는 axis를 기준으로 0부터 시작하는 위치 인덱스 값을 가지고 있다. 해당 인덱스 값을 [](대괄호) 안에 명시해서 단일 값을 추출할 수 있다. 파이썬을 사용하면 단일 값 추출 할 경우, -(마이너스)를 입력하게 되면 뒤에서 부터 위치를 지정하게 된다. (가장 오른쪽이 -1부터 시작합니다.) 소스 코드 #..

[Numpy] ndarray 크기 변경 reshape()

ndarray 크기를 변경하는 함수로 reshape를 사용한다. 1. reshape ndarray의 개수가 10개 이기 때문에, reshape 에서 (2,5) 또는 (5,2) 등 총 개수가 맞게 입력해야한다. 소스 코드 # 1. reshape # reshape는 ndarray의 갯수가 맞게 입력해야한다. array1 = np.arange(10) print('array1:\n', array1) array2 = array1.reshape(2, 5) print('array2:\n', array2) array3 = array1.reshape(5, 2) print('array3:\n', array3) # 10개 밖에 없는데, 4*1 = 4개로 reshape를 하면 에러발생 # array1.reshape(4,1) ..

[Numpy] array 생성함수 - arange, ones, zeros, empty

array를 생성하기 위한 함수들을 알아보자. 배열을 직접 입력하기에는 어려움이 있다. 다차원 배열들은 array 생성 함수로 생성하면 시간을 단축 할 수 있다. 1. arange - 인자로 배열의 크기를 입력해야한다. - 0부터 크기만큼 1씩 더하는 데이터 값들이 생성된다. 소스 코드 import numpy as np # 1.arange arange_array = np.arange(5) # 배열의 크기를 입력 print(arange_array) -결과를 보면 0부터 배열의 크기(5) 까지 +1 씩 더해서 생성하는 것을 확인 할 수 있다. print 결과 [0 1 2 3 4] 2. zeros - 인자로 shape와 dtype을 입력 할 수 있다. - 결과는 0이 들어가 있는 배열을 생성한다. 소스 코드 ..

[Numpy] ndarray 의 axis 축 개념 및 소스 코드 예제

넘파이 ndarray 의 axis 축 axis 는 쉽게 외우기 위해서는 '너의 상위 배열 몇개냐?' 라고 외우면 쉽다. 2차원 배열 같은 경우 [[1,2,3],[1,2,3]] 가장 큰 [[1,2,3],[1,2,3]] 2차 배열과 안쪽에 [1,2,3]이라는 1차 배열이 있다. 2차원 배열 안의 1차 배열 은 상위 배열이 1개 있으므로, axis =1 축이라고 보면된다. axis =1의 축이라고 했을때 1차 배열에서 add 해서 리스트를 추가하는 방향이라고 생각하면된다. 2차원 배열의 2차원 배열은 [[1,2,3],[1,2,3]] 상위 배열이 없다고 보고, axis = 0 축이라고 보면된다. (상위 배열 = axis 축) 그래서 2차원 배열에서 항목을 하나 추가하려면 1차원 배열을 추가해야한다. 그러므로, ..

반응형