728x90
반응형
apply, lambda
groupby를 통해서 묶인 데이터에 함수 적용
df.groupby('key').apply(lambda x: x.max() - x.min()) # groupby로 묶고 최대값-최소값
get_group
groupby로 묶인 데이터에서 key값으로 데이터를 가져올 수 있음
df = pd.read_csv("./univ.csv")
# 상위 5개 데이터
df.head()
# 데이터 추출
df.groupby("시도").get_group("충남")
len(df.groupby("시도").get_group("충남")) # 결과 : 94
예제 👇
aggregate 메소드에 함수를 매개변수로 넣어줄 때, min, max, mean, count 등의 특정 함수들은 문자열 형태로 넘겨줄 수 있음
import numpy as np
import pandas as pd
df = pd.DataFrame({
'key': ['A', 'B', 'C', 'A', 'B', 'C'],
'data1': [0, 1, 2, 3, 4, 5],
'data2': [4, 4, 6, 0, 6, 1]
})
print("DataFrame:")
print(df, "\n")
'''
DataFrame:
key data1 data2
0 A 0 4
1 B 1 4
2 C 2 6
3 A 3 0
4 B 4 6
5 C 5 1
'''
# aggregate를 이용하여 요약 통계량을 산출해봅시다.
# 데이터 프레임을 'key' 칼럼으로 묶고, data1과 data2 각각의 최솟값, 중앙값, 최댓값을 출력하세요.
print(df.groupby('key').aggregate([min, np.median, max]))
'''
data1 data2
min median max min median max
key
A 0 1.5 3 0 2.0 4
B 1 2.5 4 4 5.0 6
C 2 3.5 5 1 3.5 6
'''
# 데이터 프레임을 'key' 칼럼으로 묶고, data1의 최솟값, data2의 합계를 출력하세요.
print(df.groupby('key').aggregate({'data1' : 'min', 'data2' : np.sum}))
'''
data1 data2
key
A 0 4
B 1 10
C 2 7
'''
반응형
'프로그래밍 > Python' 카테고리의 다른 글
Matplotlib Bar&Histogram (0) | 2021.10.06 |
---|---|
Matplotlib 그래프 (0) | 2021.10.05 |
Pandas groupby (1) (0) | 2021.09.30 |
Pandas 집계함수 (0) | 2021.09.29 |
Pandas 데이터프레임 정렬 (0) | 2021.09.28 |