[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