본문 바로가기
Python/Python Examples

[Python Examples] 서로 다른 배열 더하기: np.array() 와 array 차이점

by Henry Cho 2022. 12. 12.
728x90
[[ 6  8]
 [10 12]]

서로 다른 배열 더하기: np.array()와 array 차이점 

포스트 난이도: HOO_Junior


# np.array()

import numpy as np

a =[[1,2],[3,4]]
b =[[5,6],[7,8]]

a = np.array(a)
b = np.array(b)

c = a+b
print(c)

[[ 6  8]
 [10 12]]

import numpy를 통해서 넘파이(numpy) 배열(array)을 계산하는 방법을 일반 파이썬 배열과 달리 결과를 산출할 수 있다. 위의 예제 코드에서처럼 넘파이를 사용하여 배열 a와 b를 더해준다고 가정했을 때 배열 a와 b를 넘파이를 통해서 넘파이 배열로 다시 선언해준다.

 

그다음 c라는 새로운 변수(Variable)를 통해서 두 배열을 더해주게 되면 실제로 각 배열의 elements들이 더해져서 하나의 배열로 결과가 산출되는걸 print()를 통해서 확인할 수  있다. 아래의 그림을 보면 보다 더 쉽게 이해할 수 있다.

 

np.array()


# np.array() 사용하지 않을 경우

 

만약에 넘파이 배열을 사용하지 않으면 어떻게 될까?

아래의 예제는 넘파이 배열을 선언하여 사용하지 않았을 경우의 코드와 산출된 결과이다.

import numpy as np

a =[[1,2],[3,4]]
b =[[5,6],[7,8]]

c = a+b
print(c)

[[1, 2], [3, 4], [5, 6], [7, 8]]

위의 예제코드와 산출된 결과를 보면 우리가 흔히 수학적 상식이라고 생각해오던 결과가 아니다. 한마디로 넘파이를 사용하게 되면 우리가 알고 있는 배열의 원소끼리 더해져서 하나의 배열로 산출이 된다.

 

하지만 넘파이 라이브러리를 사용하지 않을 경우에는 컴퓨터는 두 개의 배열을 각 원소에 매칭 해서 더해줘야 한다는 사실을 모른다. 따라서 위의 경우에는 배열 뒤에 또 다른 배열을 이어서 더해주게 된다는 것이다.


# 결론

 

np.array()를 사용하지 않고 array 덧셈이 필요한 경우도 존재하다. 따라서 코드를 통해서 나타내고자 하는 결과에 따라서 적합한 배열 작성을 해주는 것이 중요하다. 같은 배열이더라도 사용한 라이브러리나 function에 따라서 결과가 달라질 수 있기 때문이다.


 

728x90

댓글