728x90
반응형

* 본 포스팅은 주피터 노트북을 이용하였다.

 

딕셔너리를 생성한다.

 

나이 컬럼을 수정한다.

 

없는 키값을 추가해 보자.

 

 

딕셔너리를 다시 생성한다!

데이터 프레임으로 변환한다.

 

describe() 메서드는 다양한 통계량을 요약해준다.

 

성별 기준으로 나이의 총합 구하기

group1 = df['나이'].groupby(df['sex'])

sum()은 합계, mean()은 평균을 뜻한다.

 

위 방법과 다른 표현으로도 나타낼 수 있다.

df['나이'].groupby(df['sex']).agg([
                                    ('총합','sum'),
                                    ('최대','max'),
                                    ('최소','min'),
                                    ('사용자 정의',myFuncAgg),
                                     ('평균','mean')
                                    ])

 

이름으로 그룹화하고 몸무게의 통계치(집계함수/aggregation)을 출력하기

person ={'이름':['홍길동','홍말자','김개똥','홍길동','김개똥'],
         '나이':[26, 22 ,12,12,22],
         '몸무게':[87,11,13,17,19],
         'age':[12,23,34,23,17], 
         'sex':['M','F','M','F','M']
        }
person
df=pd.DataFrame(person)
print(df)

df['몸무게'].groupby(df['이름']).agg([
                                    ('총합','sum'),
                                    ('최대','max'),
                                    ('최소','min'),
                                     ('평균','mean')
                                    ])

 

group으로 그룹화하고 a의 통계치(집계함수/aggregation) 출력하기

df1 = pd.DataFrame(np.random.rand(4,4), columns=list('abcd'))
df1['group'] = [0,0,1,1]
print(df1)

df1.groupby('group').agg({'a':['sum','max'],
                         'b':'mean',
                          'c':'sum',
                          'd':lambda x:x.max()-x.min()
                         })

 

728x90
반응형

+ Recent posts