배열의 인덱싱과 슬라이싱
- 파이썬 시퀀스 자료형의 인덱싱과 슬라이싱과 유사함
더보기
a1 = np.array([0, 1, 2, 3, 40, 5])
print(a1[0])
print(a1[-1])
"""
0
5
"""
#리스트를 통한 추출
a1[[0, 2, 4]]
"""array([ 0, 2, 40])"""
a2 = np.arange(10, 100, 10).reshape(3, 3)
a2
"""
array([[10, 20, 30],
[40, 50, 60],
[70, 80, 90]])
"""
2차원 배열의 인덱스 위치는 다음과 같다
배열[열, 행]
(0, 0) (0, 1) (0, 2)
(1, 0) (1, 1) (1, 2)
(2, 0) (2, 1) (2, 2)
print(a2[0, 1])
print(a2[1, 2])
print(a2[2, 1])
"""
20
60
80
"""
#배열값 업데이트
a2[0, 2] = 60
a2
"""
array([[10, 20, 60],
[40, 50, 60],
[70, 80, 90]])
"""
#행 하나 전체 출력
a2[1]
"""array([40, 50, 60])"""
#행 전체 업데이트
a2[1] = np.array([1, 2, 3])
a2
"""
array([[10, 20, 60],
[ 1, 2, 3],
[70, 80, 90]])
"""
#2차원 배열의 행과 열 위치를 지정해서 원소 추출. 위에서 좌표를 다시 확인하자
a2 = np.arange(10, 100, 10).reshape(3, 3)
print(a2)
"""
[[10 20 30]
[40 50 60]
[70 80 90]]
"""
a2[[0,2],[0,1]]
# [(0, 0) 위치의 원소, (2,1)위치의 원소] 를 생성
# 배열[열, 행]
"""array([10, 80])"""
b1 = np.arange(0, 11)
b1
"""array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])"""
b1[1:4]
"""array([1, 2, 3])"""
b1[0:11:2] #0이상 11미만, 2간격
"""array([ 0, 2, 4, 6, 8, 10])
"""
b1[1:4] = np.array([10, 20, 30])
b1
"""array([ 0, 10, 20, 30, 4, 5, 6, 7, 8, 9, 10])
"""
b1[4:11] = 80
b1
"""array([ 0, 10, 20, 30, 80, 80, 80, 80, 80, 80, 80])
"""
b2 = np.arange(10, 100, 10).reshape(3, 3)
b2
"""
array([[10, 20, 30],
[40, 50, 60],
[70, 80, 90]])
"""
b2[0:2, 1:3] #열: 0부터 1까지, 행: 1부터 2까지
"""
array([[20, 30],
[50, 60]])
"""
list1 = [1, 2, 3, ["a","b"]]
list1[3][1] #중첩 리스트의 3번째 인덱스의 1번째 인덱스
"""
'b'
"""
b2 = np.arange(10, 100, 10).reshape(3, 3)
b2
print(b2[1])
print(b2[1][0:2]) #b2의 1인덱스 행의 0부터 2미만 행 원소들
"""
[40 50 60]
[40 50]
"""
'IT학습 > Library' 카테고리의 다른 글
[pandas] DataFrame 기본연산, 기본 기술통계 (0) | 2024.01.12 |
---|---|
[pandas] Series 데이터 구조, 날짜 데이터 (0) | 2024.01.12 |
[numpy] 배열의 조건문, numpy 조건문 (0) | 2024.01.08 |
[numpy] 난수 추출, 배열의 연산 (0) | 2024.01.08 |
[numpy] 배열 생성, 배열 차원 바꾸기, 배열 데이터 타입 변경하기 (0) | 2024.01.08 |