Python

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

8278

목차

  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]

 



분류 제목
dictionary Python - dictionary.setdefault() 메서드 ★ - 지정 key의 value 반환. (…
dictionary Python - dictionary.update() 메서드 ★ - Dictionary에 item 추가 (= …
dictionary Python - dictionary.values() 메서드 ★ - Dictionary의 Value List …
tuple Python - Tuple Method (투플 메서드) 종류
tuple Python - tuple.count() 메서드 - Tuple에서 지정요소의 개수 (= 포함횟수=중복횟수) …
tuple Python - tuple.index() 메서드 - Tuple에서 지정요소의 위치 반환. (= index메서…
set Python - Set Method (셋 메서드) 종류
set Python - set.add() 메서드 - 요소 추가 (= add메서드 = 셋애드메서드)
set Python - set.clear() 메서드 - 모든 요소 제거 (= clear메서드 = 셋클리어메서드)
set Python - set.copy() 메서드 - Set 복사 (= copy메서드 = 셋카피메서드)
set Python - set.difference() 메서드 ★ - 차집합 (= 두 set간 차이 반환 = diff…
set Python - set.difference_update() 메서드 - 두 Set의 공통요소 제거. (= di…
set Python - set.discard() 메서드 ★ - Set에서 지정요소 제거. (= discard메서드 …
set Python - set.intersection() 메서드 ★ - 교집합. (= Set의 공통요소 반환. = …
set Python - set.intersection_update() 메서드 - Set 공통요소 아닌 요소 제거. …
16/32
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인