- Part 1 요약
- 딕셔너리 : 짝이 있는 모임( key, value )
- 모듈 : 특정 목적을 가진 함수, 자료의 모임
- 튜플 : 여러 자료를 다같이 담는 자료형
1. 모듈 사용하기
import 모듈이름(ex. random)
# 모듈.함수
>> random.randrange(10, 20) # 10 이상 20미만의 수 중 임의로 출력 # range( 10, 20 ) 비슷..
# 파이썬 파일로 모듈 만들 수 있다.
2. 패키지
: 모듈을 폴더로 구분하여 편리하게 관리하기 위해서
from random import randrange
randrange(10, 20)
import random
random.randrange(10, 20)
from-import 사용 : 함수/변수 사용시 .를 써주지 않아도 된다.
3. 넘파이 numpy
: 대규모 다차원 배열을 다룰 수 있게 해주는 라이브러리
데이터 부분을 숫자배열로 보고 처리하기 때문에 넘파이를 공부해야된다.
반복문 없이 처리가능해서 빠른연산과 메모리 효율적 사용가능하다 ( list < numpy )
import numpy as np. # np 별칭
num_arry = no.array(range(3)) # [ 0 1 2 ] 공백 구분 => 배열 => class numpy.ndarray(n차원)
list_arry = list(range(3)) # [ 0, 1, 2 ] 콤마구분 => 리스트 => class list(1차원)
4. 배열 dtype
리스트 : 다양한 데이터 타입 가능
배열(넘파이) : 같은 데이터 타입만 가능
int 정수형 타입 표현 : i, int_
float 실수형타입 표현 : f, float_
str 문자열타입 표현 : str, U
bool 부울타입 표현 : ?, bool_
ndarray 차원 속성 : ndim(n차원) , shape(모양)
5. 인덱싱 : 데이터 찾기
i = np.arrange(4) # [0 1 2 3 ] 0은 0번째 문자
print(i[2]) # 2
i[1] = 999 # [0 999 2 3 ]
j = np.arrange(1, 9, 1) # 1부터 8까지 1증가하는 2차원 배열
j.shape = 4, 2 # 4X2배열
# [ [ 1 2 3 4 ]
[ 5 6 7 8] ]
print( j[1, 3 ]) # 8
슬라이싱 : 인덱스의 값 즉, 배열의 일부분 갖고 옴
i = np.arrange(4) # [0 1 2 3 ]
print( i[1:3]) # [1 2]
print( i[:: 2]) #2간격씩 [0 2]
# [ [ 1 2 3 4 ]
[ 5 6 7 8] ]
print(j[1:
6. 부울 인덱싱
: 조건에 맞는 데이터를 갖고옴
: 참 거짓 알려줌
7. fancy 인덱싱
찾고 싶은 자리 = 인덱스에 어떤 값이 있는지
matrix = np.arange(1, 13, 1).reshape(3, 4)
print(matrix)
# 1. Indexing을 통해 값 2를 출력해보세요.
answer1 = matrix[0:1, 1]
# 2. Slicing을 통해 매트릭스 일부인 9, 10을 가져와 출력해보세요.
answer2 = matrix[2:3, :2]
# 3. Boolean indexing을 통해 5보다 작은 수를 찾아 출력해보세요.
answer3 = matrix[ matrix < 5]
# 4. Fancy indexing을 통해 두 번째 행만 추출하여 출력해보세요.
answer4 = matrix[[1]]
댓글