파이썬(Python)/numpy

[Python] 리스트 값에 필터 적용하기(Numpy, Filter, Mask, 조건 걸기)

끄적끄적아무거나 2022. 1. 13. 18:30
반응형

 

목차

     

     

    파이썬 리스트(List)에 필터 사용하기

     

    리스트의 값을 사용자가 원하는 조건에 맞는 값만 출력하기 위해서는 Numpy의 Filtering 기술을 사용하면 됩니다. Filter를 적용하는 방법은 다양하게 있는 데 예제를 통해 차례 차례 알아 보겠습니다.

     

     

     

    파이썬 리스트(List)에 필터 사용하기: True, False 사용하기

     

    예제>>

    import numpy as np
    import random
    
    x_list = []
    for _ in range(3):
        x_list.append(random.randint(1,10))
    
    numpy_list = np.array(x_list)
    mask = [True, False, True]
    
    print(numpy_list)
    print(numpy_list[mask])

    4~6번 라인: 랜덤 값 3개를 생성하고 x_list에 넣음

    8번 라인: Numpy 배열 생성

    9번 라인: 필터링 할 마스크를 참 거짓으로 설정

     

     

    결과>>

    [3 5 6]
    [3 6]

    5가 들어가는 부분은 "False" 처리 되었습니다.

     

     

     

     

     

    파이썬 리스트(List)에 필터 사용하기: 조건문 사용하기

     

    예제 코드>>

    import numpy as np
    import random
    
    x_list = []
    for _ in range(10):
        x_list.append(random.randint(1,10))
    
    numpy_list = np.array(x_list)
    mask_list = (numpy_list > 3) & (numpy_list < 7)
    
    print(numpy_list)
    print(mask_list)
    print(numpy_list[mask_list])

    4~6번 라인: 1~10 사이 랜덤값을 10개 만들어 x_list에 넣기

    8번 라인: 넘파이 배열로 만들기

    9번 라인: 조건문 만들기, 3보다 크고 7보다 작은 수만 필터링해서 mask 결과로 출력

     

     

    결과>>

    [ 9  1  5 10  5  9  8  3  3  3]
    [False False  True False  True False False False False False]
    [5 5]

     

    결과에서 3보다 크고 7보다 작은 수는 5밖에 없습니다.

     

     

     

     

    반응형