Python/Pandas

[Pandas] Dataframe Groupby

데이터 세상 2022. 4. 26. 16:36
728x90
반응형

groupBy

https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.groupby.html

 

pandas.DataFrame.groupby — pandas 1.4.2 documentation

Used to determine the groups for the groupby. If by is a function, it’s called on each value of the object’s index. If a dict or Series is passed, the Series or dict VALUES will be used to determine the groups (the Series’ values are first aligned; s

pandas.pydata.org

 

특정 컬럼의 값을 기준으로 데이터 그룹핑 후 연산하기

data = pd.DataFrame({'key1':['a','a','b','b','a'],
                    'key2':['one','two','one','two','one'],
                    'data1':np.random.randn(5),
                    'data2':np.random.randn(5)})

grouped = data.groupby('key1')
grouped.mean()

 

groupBy 객체 조회

for n, d in grouped:
    print(n)
    print(d, end='\n\n')

gdict = dict(list(grouped))
gdict['b']

 

columns mapping

data = pd.DataFrame(np.random.randn(5,5),
                   columns=['t1','t2','g1','t3','g2'],
                   index=['bob','joe','james','travis','wes'])
                   
mapping = {'t1':'TV', 't2':'TV','g1':'GAME','t3':'TV', 'g2':'GAME'}
data.groupby(mapping, axis=1).mean()

 

index labeling

labeld = ['one','one','one','two','two']
data.groupby(labeld, axis=0).mean()

 

groupBy 매개 함수 정의

data.groupby(lambda x : x[0], axis=1).mean()

 

agg()

여러개의 함수를 여러 열에 적용

사용자 정의 함수를 적용할 수도 있다.

grouped.agg(['mean','std'])
def min_max(x):
    return x.max()-x.min()
grouped.agg(min_max)

 

728x90
반응형

'Python > Pandas' 카테고리의 다른 글

[Pandas] 데이터 정렬하기  (0) 2022.04.26
[Pandas] 데이터프레임 병합  (0) 2022.04.26
[Pandas] 데이터프레임 연결  (0) 2022.04.26
[Pandas] Pandas 개념  (0) 2022.04.25
[Pandas] apply 함수, applymap 함수, map 함수  (0) 2021.05.10