밤하늘공작소
numpy 리스트 만드는 방법 본문
numpy란 뉴머리컬 파이썬(numerical python)의 줄임말로 숫자와 관련한 계산 작업을 편하게 해 줄 도구입니다. python은 원래 숫자 계산을 하기 위해 만들어지지 않았고, 그런 것을 하기 위해 더 많은 코드를 써야 했었습니다. 그래서 numpy가 python으로 숫자 계산을 할 때 적은 코드로 효율적이게 실행시키기 위해 만들어졌습니다. numpy는 numpy 배열이라는 것을 제공해서 2차원 배열이나 많은 수학적 계산을 해야 할 때 유용하게 쓰입니다.
numpy에는 리스트를 만들 수 있는 방법이 여러 가지 있습니다. 기존에 python 배열을 이용해 만들 수도 있고, 똑같은 숫자로 값을 채울 수도 있습니다. 또 이어지는 숫자나 랜덤한 숫자로 채울 수도 있습니다.
1. python 리스트 이용해 만들기
가장 기초적인 방법으로 numpy를 임포트한 후 numpy의 array라는 함수를 이용해서 만듭니다.
import numpy as np
numpy_list1 = np.array([1, 2, 3, 4, 5])
print(numpy_list1)
[1 2 3 4 5]
numpy의 array라는 함수 안에 python 리스트를 넣으면 그것이 numpy 배열로 변경됩니다.
2. 똑같은 값들로 채우기
numpy에서는 함수를 제공해서 똑같은 값으로 리스트를 채워야 할 때 쉽게 사용할 수 있게 합니다. 이러한 함수는 여러 가지 있습니다.
import numpy as np
numpy_array1 = np.full(6, 0)
numpy_array2 = np.full(6, 1)
numpy_array3 = np.zeros(6, dtype=int)
numpy_array4 = np.ones(6, dtype=int)
print(numpy_array1)
print(numpy_array2)
print(numpy_array3)
print(numpy_array4)
[0 0 0 0 0 0]
[1 1 1 1 1 1]
[0 0 0 0 0 0]
[1 1 1 1 1 1]
우선 full 함수는 두번째 파라미터의 숫자가 첫 번째 파라미터의 숫자만큼 있는 리스트를 줍니다. 예를 들어 위에 "np.full(6, 0)"의 경우는 0이 6개 들어있는 리스트를 주는 것입니다. zeros은 0이 첫 번째 파라미터로 온 숫자만큼 채워진 리스트를 넘겨줍니다. ones도 똑같이 1로 채워진 리스트가 만들어집니다.
3. 연속되는 숫자로 채우기
numpy에서는 연속되는 숫자로 채워주는 함수도 있습니다. 바로 arange입니다.
import numpy as np
numpy_array1 = np.arange(5)
numpy_array2 = np.arange(3, 9)
numpy_array3 = np.arange(3, 22, 3)
print(numpy_array1)
print(numpy_array2)
print(numpy_array3)
[0 1 2 3 4]
[3 4 5 6 7 8]
[ 3 6 9 12 15 18 21]
arange에는 파라미터는 한 개를 넣은 경우 0에서부터 (첫번재 파라미터 - 1)까지 연속되는 숫자가 있습니다. 만약 파라미터 두 개를 넣는다면 (첫 번째 파라미터)에서 (두 번째 파라미터 - 1)까지 연속되는 숫자가 있습니다. 만약 세 개의 파라미터를 넣는다면 (첫 번째 파라미터)에서 (두 번째 파라미터 - 1)까지 연속하는 숫자들 중 (세 번째 파라미터)의 간격의 값들을 줍니다.
4. 무작위 값으로 채우기
무작위로 차우는 방법도 있습니다. numpy에는 random이 있고, random에는 randint이라는 함수가 있습니다. 밑에 코드와 같이 사용합니다.
import numpy as np
numpy_array1 = np.random.randint(5, size=6)
numpy_array2 = np.random.randint(2, 8, size=6)
print(numpy_array1)
print(numpy_array2)
[3 0 1 1 0 3]
[7 2 6 3 3 7]
numpy 안에 random 안에 randit 함수가 하나의 파라미터를 받으면 0 ~ (첫번째 파라미터)의 범위의 숫자 중 랜덤하게 고른 값이 size의 값만큼 있는 리스트를 만듭니다. 만약 두 개의 파라미터를 받는다면 (첫 번 재 파라미터) ~ (두 번째 파라미터)의 범위 중 랜덤하게 고른 값이 size의 값만큼 리스트를 만들게 됩니다.
'코딩 > Python' 카테고리의 다른 글
Pandas란? (2) | 2022.10.28 |
---|---|
Python 리스트 Numpy 리스트 차이점 (0) | 2022.10.21 |
Python에서 문자 자르기 (0) | 2022.07.22 |
Python 리스트 활용 팁 (6) | 2022.07.11 |
Python에서 포맷팅하기 (0) | 2022.06.28 |