pbj0812의 코딩 일기

[PYTHON] transform 을 사용한 데이터 변환 본문

ComputerLanguage_Program/PYTHON

[PYTHON] transform 을 사용한 데이터 변환

pbj0812 2021. 7. 1. 07:53

0. 목표

 - transform 을 사용한 데이터 변환

1. 실습

 1) library 호출

import pandas as pd

 2) 데이터 프레임 생성

df = pd.DataFrame({'a' : [1, 2, 3, 1, 2, 3], 'b' : [4, 5, 6, 4, 5, 7]})

 3) 모든 데이터에 1 씩 더하기

df2 = df.transform(lambda x : x + 1)

 4) 데이터 프레임 옆에 groupby 결과를 넣고 싶을 때

  (1) groupby 만 사용해보기

    - groupby 결과가 index 별 숫자이기에 딸려 들어간 형태

    - a 로 그룹화할 때 b의 합은 2 : 10, 3 : 12, 4 : 15 이기에 인덱스 찾아감

df2['c'] = df2.groupby(by = ['a'])['b'].sum()

  (2) transform

df2['d'] = df2.groupby(by = ['a'])['b'].transform(sum)

  (3) transform (이중 groupby)

df2['e'] = df2.groupby(by = ['a', 'b'])['b'].transform(sum)

  (4) transform + lambda (이중 groupby)

df2['f'] = df2.groupby(by = ['a', 'b'])['b'].transform(lambda x : sum(x))

2. 참고

 - pandas.DataFrame.transform

Comments