1차원 배열에서의 슬라이싱은 리스트에서 슬라이싱 하던 방식이랑
똑같이 인덱스 번호로 슬라이싱하면 된다.
특정 부분만 슬라이싱 해오는 방법이다.
행과 열을 고려해
지금까지 해오던 슬라이싱을 , 콤마로 하나 더 작성하면 된다.
데이터 값 변경은 원하는 데이터의 인덱스 번호로 변수 지정하듯 직접 입력하면 된다.
다만 주의할 점은 인덱스 입력 시 , 콤마를 써야한다는 것이다.
아무 생각 없이 : 을 쓰면 그 인덱스 범위만큼 데이터가 한번에 수정되는 대참사가 일어난다...
기본 파이썬에서 데이터의 중복값을 제거할 때에는
set 데이터의 특징을 이용해서 중복값을 제거하고 다시 리스트를 만드는 방법을 썼지만,
넘파이에서는 unique 함수를 사용해 중복값을 한번에 제거할 수 있다.
파라미터 값에는 중복을 없앨 데이터 배열을 입력/
조건을 만족하는지 True, False 두 가지 결과로 나뉘는 boolean 연산을 넘파이에서는 어떻게 활용하는지 알아보자.
기본적인 문법은 비슷하지만 큰 차이가 하나 있다면 if 문이 없다는 점이다.
if 문없이 배열을 비교하면 각 데이터의 True, False 값이 나온다.
위 이미지는 True = 1 , False = 0 이라는 점을 이용해 개수를 구하는 방법이다.
위 방법을 응용하면
슬라이싱 하는 대괄호 안에 입력하여
해당 조건에 부합하는 데이터를 일괄적으로 슬라이싱할 수도 있다.
조건문에서의
and 는 & 로
or 은 | (shift + \)로
대체하여 쓴다.
파이썬 리스트와 넘파이 연산의 차이점을 알고 넘어가자.
리스트에서의 + 는 리스트끼리 합쳐져 하나의 리스트가 되는 방식이었지만.
넘파이에서의 + 는 각각 대응되는 데이터들끼리 더해지는 방식이다.
(단, 데이터의 수가 1대1 대응된다는 조건하에)
2차원 연산도 1차원이랑 크게 다를 건 없다.
다만 하나 더 신경써야할 점은
축이 하나 더 늘어 행과 열 모두 신경써서
연산해야한다는 점이다.
리스트에서는 반복문을 통해 리스트 내의 데이터를 일괄적으로 연산시켜줬지만
넘파이에서는 반복문 없이 간단한 연산 기호만으로 일괄 연산시킬 수가 있다.
댓글