프로그래밍 언어ㅤ/ㅤPython

[Python 101] 배열(array)

array : 여러 값들의 그룹

1차원

- np.array([1,2,3])

- .shape() : (3,)

- axis 는 0

2차원

- np.array([[1,2,3], [4,5,6], [7,8,9]])

- .shape() : (3,3)

- axis 는 0, 1

- array는 list와 다르게 1개의 단일 데이터 타입만 허용됨

- arr = np.array([1,2,3.14], dtype=int)

- 위와 같이 숫자형의 경우 지정하는게 가능하지만 str이 혼재되어 있는 경우 숫자형으로 지정 불가

 

슬라이싱

- 배열의 부분 선택할 때

- (2d) arr2d[2, 1]

- (1d) index 5 미만까지 : arr[:5]

- (2d) row를 모두 가져오기 : arr2d[0, :]

- (2d) col을 모두 가져오기 : arr2d[:, 0]

- (2d) 범위 : arr2d[2:, :3]

 

조건 필터

arr2d[arr2d > 2] # array([3,4,5,6,7,8,9,10,11,12])

 

Fancy Indexing

- 범위가 아닌 특정 index의 집합의 값을 선택하여 추출하고 싶을 때

- 추출하고 싶은 인덱스를 [ ] 로 묶어줄 것

arr = np.array([1,2,3,4,5,6,7])

arr2d = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])

arr = np.array([1,2,3,4,5,6,7])
arr2d = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12]])

 

Boolean 인덱싱

- 조건 필터링을 통하여 boolean값을 이용한 색인

myTrueFalse = [True, False, True, False, True, False, True]

 

arange

- 순차적으로 번호를 생성할 때

- (Eg) 회원에 대한 가입 번호 부여

- 1부터 10까지 생성

- arr = np.arange(1,11)

- arr = np.arange(start=1, stop=11)

- arr = np.arange(start=1, stop=11, step=2)

- 키워드 인자를 사용하면 순서 상관 없음

 

range

- numpy와 상관없는 python 문법