ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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

    댓글

Designed by Tistory.