Python/Python For Analytics
[Python] numpy.where 를 이용하여 컬럼을 다양한 데이터 타입과 비교
Pydole
2020. 1. 21. 19:07
numpy.where(조건문, True 값, False 값)
Sample DataSet
import pandas as pd
import numpy as np
lst_A = {'제품':['milk','juice','bread','icecream'],
'수량':[3,5,10,2],
'제조일시':['2020-01-01 01:00:00','2019-12-20 15:01:00','2019-12-31 00:00:00','2020-01-02 02:03:01']}
df = pd.DataFrame(lst_A)
df['제조일시'] = pd.to_datetime(df['제조일시'])
1. '2020-01-01 00:00:00'를 기준으로 "유통기간" 새로운 컬럼을 만들고, True : "유효", False : "만료" 체크
(날짜 비교)
from datetime import datetime
checkDate = datetime.strptime('2020-01-01 00:00:00', '%Y-%m-%d %H:%M:%S')
df['유통기간'] = np.where(df['제조일시'] > checkDate, '유효', '만료')
print(df)
2. 수량 기준으로 5보다 적으면 "초과여부" 새로운 컬럼을 만들고, True : "적정", False : "초과" 체크
(숫자 비교)
df['초과여부'] = np.where(df['수량'] < 5, '적정', '초과')
print(df)
3. 제품 기준으로 milk이나 juice 이면 "제품종류" 새로운 컬럼을 만들고, True : "음료", False : "먹거리" 체크
(문자열 비교)
df['제품종류'] = np.where((df['제품'] == 'milk') | (df['제품'] == 'juice'), '음료', '먹거리')
print(df)
다중 컨티션 : &(AND), | (OR)