• 회원가입
  • 로그인
  • 구글아이디로 로그인

[numpy] PY - NumPy Filter Array (배열 필터링) ★

8287  

목차

  1. 배열 필터링 정의
  2. 필터링 List 생성해 배열 필터링
  3. 필터링 배열 생성해 배열 필터링

 

배열 필터링 정의

 

필터링 뜻: 기존 배열에서 일부 요소를 가져 와서 새 배열 생성.

  • 필터링 List (= 참거짓 색인 List) 사용해 필터링.
  • 필터링 List : 배열 색인 각각에 대응하는 참거짓 List
  • True 경우, 배열에 포함 O 의미.
  • False 경우, 배열에 포함 X 의미.

 

cf.

배열 자르기 : 배열의 일부 구간의 요소만 선택.

 


[예제] 참거짓 색인 List 값이 True인 값으로 구성된 배열 반환.

 

import numpy as np

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

x = arr[[True, False, True, False]]

print(x)

 

결과값: [1 3]

 

필터링 List 생성해 배열 필터링

 

위 예제 경우, 참거짓을 일일이 하나하나 적어줬으나,

일반적인 경우엔 지정 조건에 기반해 참거짓을 결정함.

 


[예제1] 배열 값이 2보다 큰 요소로 구성된 배열 생성.

 

import numpy as np

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


# 참거짓 색인 List용 빈 List 생성.

filter_list = [] 


# 배열 요소 각각에 대해 노출 여부 결정.

for x in arr:

  if x > 2:

    filter_list.append(True)

  else:

    filter_list.append(False)

 

# 필터링 된 배열 생성.

newarr = arr[filter_list]


print(filter_list) # [False, False, True, True, True]

print(newarr) # [3 4 5]

 


[예제2] 배열 값이 짝수인 요소로 구성된 배열 생성.

 

import numpy as np

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


filter_list = [] 


for x in arr:

  if x % 2 == 0:

    filter_list.append(True)

  else:

    filter_list.append(False)


newarr = arr[filter_list]


print(filter_list) # [False, True, False, True, False]

print(new_arr) # [2 4]


※ 필터링 배열을 생성하면 더 간단. (아래 참고.)

 

필터링 배열 생성해 배열 필터링

[예제1] 2보다 큰 값으로 구성된 배열. (= 위 예제1 비교)

 

import numpy as np

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


filter_arr = arr > 2

newarr = arr[filter_arr]


print(filter_arr) # [False False  True  True  True]

print(newarr) # [3 4 5]

 


[예제2] 짝수 값으로 구성된 배열 생성. (※ 위 예제2 비교.)

 

import numpy as np

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


filter_arr = arr % 2 == 0

newarr = arr[filter_arr]


print(filter_arr) # [False  True False  True False]

print(newarr) # [2 4]

 



분류 제목
set Python - set.isdisjoint() 메서드 - 두 Set의 공통요소 유무 체크. (= isdisj…
set Python - set.issubset() 메서드 - 서브 Set인지 체크. (= issubset메서드 = …
set Python - set.issuperset() 메서드 - 수퍼 Set인지 체크. (= issuperset메서…
set Python - set.pop() 메서드 ★ - Set에서 요소 랜덤 제거 후, 제거된 요소 반환. (= p…
set Python - set.remove() 메서드 ★ - Set에서 지정요소 제거. (= remove메서드 = …
set Python - set.symmetric_difference() 메서드 - Set의 공통요소 제외한 결합 S…
set Python - set.symmetric_difference_update() 메서드 - Set의 공통요소 제…
set Python - set.union() 메서드 ★ - 중복 시 한번만 포함해 Set 결합. (=셋 합치기 u…
set Python - set.update() 메서드 - 두 Set을 결합해 기존 set을 수정. (= update…
file Python - File Method - 파일메서드 종류
file Python - close() 메서드 ★★★ - 열린 파일 닫기. (= close메서드 = 클로즈 메서드)
file Python - detach() 메서드 △ - 버퍼에서 분리된 원시 스트림 반환. (= detach메서드 =…
file Python - fileno() 메서드 - 스트림의 파일 설명자를 숫자로 반환. (= fileno메서드 = …
file Python - flush() 메서드 ★ - 버퍼 비우기/정리. (= flush메서드 = 플러시메서드)
file Python - isatty() 메서드 - 파일 스트림이 상호대화형인지 체크. (= isatty메서드)
file Python - read() 메서드 ★★★ - 파일 읽기. (= read메서드 = 리드 메서드)
file Python - readable() 메서드 ★ - 파일 읽기 가능 여부 체크. (= readable메서드 =…
file Python - readline() 메서드 ★ - 파일 한 줄 읽기. (= readline메서드 = 리드라인…
file Python - readlines() 메서드 ★ - 파일 읽기 후, List 객체 반환. (= readlin…
file Python - seek() 메서드 ★ - 파일의 출력 시작점 설정. (= seek메서드 = 시크 메서드)
13/24
목록
찾아주셔서 감사합니다. Since 2012