-
Pandas 2부Learn/머신러닝 2021. 5. 26. 00:07
[groupby & aggregation]
Pandas로 데이터 핸들링을 하는 사람이면 너~~ 무 많이 쓰는 함수라 기본은 생략.
SQL에서는 agg함수를 쓸 때 아래와 같이 여러 가지를 한번에 쓸 수 있다.
SELECT MAX(device_price), MIN(device_price) FROM table_name GROUP BY usr_id
pandas에서는 groupby에서는 agg함수를 써야된다.
# 변수 1개에 대해 여러 개 agg df.groupby('usr_id')['price'].agg([max, min]) # 변수 여러 개에 대해 여러 개 agg agg_dict = {'price':'max', 'size':'min', 'weight':'mean'} df.groupby('usr_id').agg(agg_dict)
fillna는 별거 없으니 PASS
[apply lambda]
자주 안쓰다보니 참 손에 익숙해지지 않지만 기본 원리는
# lambda 입력 : 함수 # 제곱 구하기 lambda_square = lambda x:x**2 # print 9 print(lambda_square(3))
pandas에서 apply lambda는 이런 식으로 쓴다.
# apply lambda df['name_len'] = df['name'].apply(lambda x : len(x)) df['is_adult'] = df['age'].apply(lambda x : True if x>19 else False)
작년에 큰 데이터에 대해 lambda를 썼더니 한세월 걸렸던 기억이 있다.
사실 lambda를 안써도 저 정도의 핸들링은 가능하니 속도를 고려한다면 apply lambda를 쓰지말자.
(사실 이래서 습관적으로 lambda를 안쓰게 되는듯)
PANDAS 끝
'Learn > 머신러닝' 카테고리의 다른 글
[Anomaly Detection] Isolation Forest (0) 2022.08.11 [Anomaly Detection] Local Outlier Factor (LOF) (0) 2022.08.10 [Anomaly Detection] 개요, 확률 분포 기반 (0) 2022.08.10 Pandas 1부 (0) 2021.05.25 ndarray (0) 2021.05.07