파이썬 문법/파이썬 넘파이

파이썬 문제 풀이로 기초 문법 빠르게 이해하고 활용하기 - 13.넘파이(답안)

파기차차 2022. 12. 7. 08:19
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