[Numpy] np.where()

반응형
    반응형

    numpy에 있는 where() 함수에 대해 알아보겠습니다. 

    결론적으로 말하면 엑셀의 if 함수와 같은 역할을 합니다.

    쓰는 법도 비슷합니다.

    파라미터는 다음과 같습니다.

     

    np.where(condition,x,y)

     

    엑셀의 if와 같이 condition은 말 그대로 조건이고

    x는 True일때의 값, y는 False일때의 값을 의미합니다.

     

    예를 들어보겠습니다.

    a = np.array(range(15))
    a= a.reshape(3,5)
    

    여기서 7보다 큰 수는 1, 아니면 0으로 바꾸겠습니다.

    np.where(a>7,1,0)

     

    이번에는 짝수,홀수로 나눠보겠습니다.

    np.where(a%2==0,'even','odd')

     

    이렇듯 자신이 원하는 값으로 바꿀 수 있습니다.

    이렇게 만들고서 엑셀에 저장하면 엑셀에서 일일히 드래그 작업을 하지않고 문서를 작성할 수 있습니다.

     

     

    판다스에 넣어봅시다.

    인덱스는 신경쓰지 않고 짝수,홀수 구분한 것을 덧붙여서 데이터프레임을 만들겠습니다.

    import pandas as pd
    a = np.array(range(15))
    b = np.where(a%2==0,'even','odd')
    df = pd.DataFrame({'value' :a ,'classify': b})
    

     

    이 데이터프레임을 엑셀파일로 저장만 하면 간단하게 문서를 만들 수 있습니다.

     

    관련포스팅

    [Python/Numpy] - [Numpy] Bool 이용하기

    [Python/Pandas] - [Pandas] 데이터프레임 엑셀 저장, 불러오기

    [Python/Excel 다루기] - Win32com으로 엑셀 다루기

    댓글

    Designed by JB FACTORY

    ....