2021. 12. 14. 11:26ㆍProgramming/Python
[1] 모듈만들기 및 가져다 쓰기 예제
ex) *CodeEditor
#cal.py (Module Make)
def plus(a, b):
return a+b
def minus(a, b):
return a-b
modelName = "ELI-C2"
#main.py (Module Import)
import cal
var1 = cal.modelName
var2 = cal.plus(3,4)
var3 = cal.minus(7,2)
## 변수의 값을 확인하는 출력문입니다.
print(var1, var2, var3)
*Console
[2] 모듈을 가져다쓰는 두가지 방식 예제
ex)*CodeEditor
from random import randrange
import math
var1 = randrange(1, 11)
var2 = math.log(5184, 72)
print(var1, var2)
*Console
[3] 파이썬 내장함수로 외부사이트 HTML파일 가져오기
ex)라이브러리 참조 및 함수 연속사용(.접근자로 함수를 연속으로사용 가능하다.)
- from-import를 이용해서 urllib패키지 안 request 모듈에서 urlopen 함수를 불러오는 코드를 작성해봅시다.
- 다음 주소를 urlopen하고, read() 한 다음, 이를 utf-8으로 decode 한 결과를 변수 webpage에 넣어봅시다.
- https://en.wikipedia.org/wiki/Lorem_ipsum Copy
- 변수 webpage를 출력해봅시다. 무엇이 나오나요?
* CodeEditor
from urllib.request import urlopen
webpage = urlopen("https://en.wikipedia.org/wiki/Lorem_ipsum").read().decode("utf-8")
print(webpage)
*Console
해당 Url의 Html파일이 호출된다. 어떤 사이트 정보든 가져오기가능.
*****TIP*****
- urlopen() : 이 함수에 url을 넣으면 해당 url에 접근한 결과를 얻을 수 있습니다.
- read() : 결과를 해독하여 문자열로 반환합니다.
- decode() : 문자열을 특정 인코딩 방식으로 해독합니다. (유니코드, 아스키 코드 등)
shape 속성은 1차원일때는 해당 배열의 길이 그외엔 대부분 배열의 수를 나타낸다.
shape(갯수,행,렬) 순서로 표시됨
[1] Numpy 배열 생성 예제
ex)*CodeEditor
import numpy as np
# 0부터 4까지 연속적인 숫자가 들어있는 배열을 만들어 봅시다!
array = np.array(range(5))
[2] 상단에 Numpy로 배열생성법을 알아봤고, ndarray(n차원배열)의 속성값들을 알아보자.
ex)*CodeEditor
import numpy as np
print("1차원 array")
array = np.array(range(10))
print(array)
# 1. array의 자료형을 출력해보세요.
print(type(array))
# 2. array의 차원을 출력해보세요.
print(array.ndim)
# 3. array의 모양을 출력해보세요.
print(array.shape)
# 4. array의 크기를 출력해보세요.
print(array.size)
# 5. array의 dtype(data type)을 출력해보세요.
print(array.dtype)
# 6. array의 인덱스 5의 요소를 출력해보세요.
print(array[5])
# 7. array의 인덱스 3의 요소부터 인덱스 5 요소까지 출력해보세요.
print(array[3:6])
*Console
[3] 위에서 1차원 배열에 대한 값들을 알아봤다면, 2차원 배열에 대한 속성값들을 알아보자.
ex)*CodeEditor
import numpy as np
print("2차원 array")
#1부터 15까지 들어있는 (3,5)짜리 배열을 만듭니다.
matrix = np.array(range(1,16))
matrix.shape = 3,5
print(matrix)
# 1. matrix의 자료형을 출력해보세요.
print(type(matrix))
# 2. matrix의 차원을 출력해보세요.
print(matrix.ndim)
# 3. matrix의 모양을 출력해보세요.
print(matrix.shape)
# 4. matrix의 크기를 출력해보세요.
print(matrix.size)
# 5. matrix의 dtype(data type)을 출력해보세요.
print(matrix.dtype)
# 6. matrix의 dtype을 str로 변경하여 출력해보세요.
print(matrix.astype('str'))
# 7. matrix의 (2,3) 인덱스의 요소를 출력해보세요.
print(matrix[2,3])
# 8. matrix의 행은 인덱스 0부터 인덱스 1까지, 열은 인덱스 1부터 인덱스 3까지 출력해보세요.
print(matrix[0:2,1:4])
*Console
[4] 배열의 Indexing & Slicing 예제
ex)CodeEditor
import numpy as np
matrix = np.arange(1, 13, 1).reshape(3, 4)
print(matrix)
# 1. Indexing을 통해 값 2를 출력해보세요.
answer1 = matrix[0,1]
# 2. Slicing을 통해 매트릭스 일부인 9, 10을 가져와 출력해보세요.
answer2 = matrix[2:, :2]
# 3. Boolean indexing을 통해 5보다 작은 수를 찾아 출력해보세요.
answer3 = matrix[matrix<5]
# 4. Fancy indexing을 통해 두 번째 행만 추출하여 출력해보세요.
answer4 = matrix[[1]]
# 위에서 구한 정답을 출력해봅시다.
print(answer1)
print(answer2)
print(answer3)
print(answer4)
*Console
[[ 1 2 3 4]
[ 5 6 7 8]
[ 9 10 11 12]]
2
[[ 9 10]]
[1 2 3 4]
[[5 6 7 8]]
*TIP
배열의 인덱스를 활용하여 값을 찾아내거나 배열의 일부분을 가져올 수 있습니다. 이를 Indexing & Slicing이라 합니다.
x = np.arang(7)
print(x[3]) # 3
print(x[1:4] # [1 2 3]
Boolean mask를 이용하여 원하는 값을 추출하는 것은 Boolean indexing이라 합니다.
x = np.arange(7)
print(x[x < 3]) # [0 1 2]
print(x[x % 2 == 0]) # [2 4 6]
배열의 각 요소 선택을 Index 배열을 전달하여 지정하는 방식은 Fancy indexing이라 합니다.
x = np.arange(7)
print(x[[1, 3, 5]] # [1 3 5]
'Programming > Python' 카테고리의 다른 글
AI실무 기본과정 - 데이터 분석을 위한 라이브러리 step 3 (0) | 2021.12.16 |
---|---|
AI실무 기본과정 - 데이터 분석을 위한 라이브러리 step 2 (0) | 2021.12.15 |
AI실무 기본과정 - 핵심 파이썬 기초 프로그래밍 step 3 (0) | 2021.12.14 |
AI실무 기본과정 - 핵심 파이썬 기초 프로그래밍 step 2 (0) | 2021.12.10 |
AI실무 기본과정 - 핵심 파이썬 기초 프로그래밍 step 1 (0) | 2021.12.09 |