728x90
반응형
SMALL
728x90
반응형
O 모범 답안
# 1) 넘파이를 사용하는 이유가 무엇인가요?
# - 대량의 수치 해석(행렬 및 벡터 연산) 등에 빠른 처리가 필요한 경우 사용
# (역으로 대량의 수치 처리가 아니라면 굳이 사용하지 않아도 됨)
# 리스트 대신 넘파이를 사용하는 경우
# 장점
# - 코드가 간결해 진다.
# - 속도가 빠르다.
# - 배열을 다루기가 쉽다.
# 2) 아래 리스트에 저장한 모든 값에 1씩 더해서 출력하는 소스를 만들어 보시고, 최종 결과 변수의 타입을 확인하세요.
# (일단 넘파이를 사용하지 않고 리스트로 만들어 봅니다.)
org_list = [1,3,5,7,11]
result_list = []
# 답
for i in range(len(org_list)):
result_list.append(org_list[i] + 1)
print(result_list)
# [2, 4, 6, 8, 12]
print(type(result_list))
# <class 'list'>
# 3) 넘파이를 사용하여 위의 2)번 코드와 동일한 결과를 출력하고 최종 결과 변수의 타입을 확인하세요.
import numpy as np
org_list = np.array([1,3,5,7,11])
result_list = org_list + 1
print(result_list)
# [ 2 4 6 8 12]
print(type(result_list))
# <class 'numpy.ndarray'>
# 4) 넘파이를 사용해 1차원 배열을 2차원 배열로 변경해 보세요.
onecha = np.array([1,3,5,7,9,11])
twocha = onecha.reshape(2,3)
print(twocha)
# [[ 1 3 5]
# [ 7 9 11]]
# 5) 넘파이를 사용해 아래와 같이 곱하는 경우 결과를 예상해 보세요.
a = np.array([[1,1],
[0,1]])
b = np.array([[2,0],
[3,4]])
print(a*b)
# [[2 0]
# [0 4]]
# 6) 아래와 같은 결과가 나오도록 print()문을 완성해 보세요.
aa = np.arange(12).reshape(3,4)
print(aa)
# [[ 0 1 2 3]
# [ 4 5 6 7]
# [ 8 9 10 11]]
print(aa.max())
# 11 #
# [12 15 18 21]<--------- 이렇게 나오도록 해보시고, 왜 그렇게 나왔는지 생각해 보세요
print(aa.sum(axis=0))
# [0 4 8]<--------- 이렇게 나오도록 해보시고, 왜 그렇게 나왔는지 생각해 보세요
print(aa.min(axis=1))
# 7) 아래 결과를 예상해 보시고, 추가로 아래와 같은 결과가 나오도록 print()문을 완성해 보세요.print
data = np.array([1,2,3])
print(data)
print(data[1]) # <---- 결과를 예상해 보세요
# 2
print(data[0:2]) # <---- 결과를 예상해 보세요
# [1 2]
print(data[-2:]) # <---- 결과를 예상해 보세요
# [2 3]
# [2 3] <-- 이렇게 나오게 하되 위와는 다르게 명령을 내려 보세요.
# 답
print(data[1:])
# 8) 아래 결과를 예상해 보시고, 추가로 아래와 같은 결과가 나오도록 print()문을 완성해 보세요.
aaa = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
print(aaa[aaa < 5]) # <-- 결과를 예상해 보세요
# [1 2 3 4]
# [ 3 4 5 6 7 8 9 10] <-- 이렇게 나오게 해보세요(aaa가 2보다 크고, 11보다 작다)
print(aaa[(aaa > 2)&(aaa < 11)])
728x90
반응형
LIST
'파이썬 문법 > 파이썬 넘파이' 카테고리의 다른 글
파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 13.넘파이 (0) | 2022.12.07 |
---|