리스트 등 에서 꼭 전체가 필요한 것만은 아니다
그럴때에는 필요한 부분만 가져다 쓰면 된다
[ 행 , 열 ] 이라는 의미이며
~ : ㅁ 는 ㅁ 제외한 앞부분 모두(포함하기 위해서+1을 해주자)
ㅁ : ~ 는 ㅁ 포함한 뒷부분 모두
를 의미한다
:
하나만 있다면 앞부분,뒷부분 모두 라는 의미이므로 전체를 의미한다
문자열의 경우 인덱스 번호 1개만 불러내면 '홍' '길' '동' 처럼 나오게 되는데
2개를 불러내도 '길' '동' 처럼 나오게 된다
그때는 [시작글자 인덱스 : 끝글자 인덱스]를 해주면 된다
물론 마지막 인덱스 번호는 미포함이기에 +1을 해준다
그래서 1 : 2+1은
두번째 글자인 '길'과 세번째 글자인 '동'이 합쳐져 나와 '길동'이 된다
숫자도 같은식으로
[2: 5+1]로 입력하면 2번 인덱스서부터 5번 인덱스까지의 숫자를 출력이라는 의미로
2, 13, 4, 18만 따로 출력이 가능하다
다차원배열에서는 [ 1, 1 : 3+1 ] 로 입력하게 되면
인덱스 1번행의 1번 열부터 3번열까지의 수로
22, 39, 93번만 출력되게 된다
0번 행과 2번 행만 출력하고 싶다면
X[ ]안에 [ 0, 2 ]를 집어넣어
X[ [ 0, 2 ] ]를 하면 0행과 2행만이 출력이 되며
(열은 생략한다)
1,3,4 열만 나타내고 싶다면
X[ 행부분은 : 를 넣고 , [1, 3, 4] 를 넣어]
X[ : , [ 1, 3, 4 ] ] 로 넣어 해당 열만 출력이 가능하다
slicing 할때 주의점
X의 한 부분을 Y로 떼와서
Y를 수정하면
X 또한 같이 수정된다
이런 사태를 방지하기 위해 따로 복사를 하여 작업한다
똑같이 슬라이싱할때 .copy( ) 를 붙여넣어 복사한다
이렇게 수정하면 원본은 바뀌지 않는다
원하는 부분만 잘라내어 사용할 수 있다
0,2번행과
0~2번열까지의 수만 필요하기에
[ 행 , 열 ] 부분에서
[ [ 0,2 ] , [ 0, 1, 2 ] ]
로 적어준다
열 부분에서는 중간중간 빠진 부분이 없는 연속된 관계기때문에
: 2+1 로 적어주어도 된다
'Python > Numpy' 카테고리의 다른 글
Numpy 기능 - 중복값 제거 .unique( ) (0) | 2024.04.04 |
---|---|
Numpy 기능 - 배열에서의 최대값,최소값 위치 찾기 (0) | 2024.04.04 |
Numpy 기능 - 특정한 데이터를 찾을 때 (0) | 2024.04.04 |
Numpy 기능 - 행,열 별로 데이터가 필요할 때 (0) | 2024.04.04 |
Numpy 기능 - 최대값, 최소값, 전체합, 평균값, 표준편차, 중앙값 (0) | 2024.04.04 |