-1차원 인덱싱, 슬라이싱 색인
'''
1차원 배열(벡터) 색인
1) 인덱싱 ,슬라이싱 ( 기존 파이썬 문법과 동일 )
- 기본적으로 위치값을 이용
- 순방향
- 역방향
'''
import numpy as np
# 1. 인덱싱
arr = np.array(["A","B","C","D","E","F"])
print(arr[0]) # 순방향
print(arr[-1]) # 역방향
# 2. 슬라이싱
arr = np.array(["A","B","C","D","E","F"])
print( arr[0:4]) # ['A' 'B' 'C' 'D']
print( arr[-5:-1]) # ['B' 'C' 'D' 'E']
print( arr[4:]) # ['E' 'F']
print( arr[:6]) # ['A' 'B' 'C' 'D' 'E' 'F']
print( arr[0:6:2]) # ['A' 'C' 'E']
print( arr[::-1]) #['F' 'E' 'D' 'C' 'B' 'A'] # 역순
print( arr[:]) # ['A' 'B' 'C' 'D' 'E' 'F']
print( arr[...]) # ['A' 'B' 'C' 'D' 'E' 'F'] # 기억할것.
# 차원변경시 ... 사용된다.
print(arr) # ['A' 'B' 'C' 'D' 'E' 'F']
print(arr[..., np.newaxis]) # [['A']['B']..['F']]
print(arr[np.newaxis,...]) # [['A' 'B' 'C' 'D' 'E' 'F']]
arr [...] : 배열을 그대로 가져올 때 사용
차원을 바꿀 때 용이 하게 쓰이니 잘 기억해 둘 것 !
- 1차원 -fancy 색인
'''
1차원 배열(벡터) 색인
1) 인덱싱 ,슬라이싱 ( 기존 파이썬 문법과 동일 )
- 기본적으로 위치값을 이용
- 순방향
- 역방향
2) fancy 색인 ( 정수배열 색인 )
- 한꺼번에 여러 값 색인
- 반드시 리스트에 저장하고 지정한다.
- 임의의 순서지정 가능
- 순방향,역방향 모두 가능
'''
import numpy as np
# 3. fancy 색인
arr = np.array(["A","B","C","D","E","F"])
print(arr[[0,2,4]]) # ['A' 'C' 'E']
print(arr[[4,1,5]]) # ['E' 'B' 'F']
print(arr[[-1,-4,-3]]) # ['F' 'C' 'D']
# print(arr[-1,-4,-3]) # ['F' 'C' 'D'] # 에러
-1차원 boolean 색인
-True 값으로된 부분만 출력된다.
'''
1차원 배열(벡터) 색인
1) 인덱싱 ,슬라이싱 ( 기존 파이썬 문법과 동일 )
- 기본적으로 위치값을 이용
- 순방향
- 역방향
2) fancy 색인 ( 정수배열 색인 )
- 한꺼번에 여러 값 색인
- 반드시 리스트에 저장하고 지정한다.
- 임의의 순서지정 가능
- 순방향,역방향 모두 가능
3) boolean 색인
- 벡터 연산중에서 비교 연산 활용, 반드시 길이가 같아야 된다.
'''
import numpy as np
# 3. boolean 색인
arr = np.arange(10)
print(arr) # [0 1 2 3 4 5 6 7 8 9]
print(arr[[True,True,True,True,True,False,False,False,False,False]])
print("짝수냐?", arr%2==0) # [ True False True False True False True False True False]
print("짝수값만 출력", arr[arr%2==0]) # [0 2 4 6 8]
print("5보다 큰값만 출력", arr[arr>5]) # [6 7 8 9]
print("5보다 크고 짝수냐 ?", arr[(arr > 5) & (arr%2==0)]) # [6 8]
print("5보다 크거나 짝수냐 ? ?", arr[(arr > 5) | (arr%2==0)]) # [0 2 4 6 7 8 9]
'python' 카테고리의 다른 글
[numpy] numpy 2차원 색인 | 색인을 이용한 값 변경 (0) | 2022.09.29 |
---|---|
[numpy] numpy 2차원 색인 | 인덱싱, 슬라이싱, fangy, boolean (0) | 2022.09.29 |
[numpy] numpy의 벡터 연산 (연산자 활용) (0) | 2022.09.28 |
[numpy] 타입변환 dtype | astype (0) | 2022.09.28 |
[numpy] 2차원 배열 | 삭제, 추가, 삽입 | np.delete(), np.append(), np.insert() (0) | 2022.09.28 |