데이터 그룹화 및 집계
Coddy의 Pandas 데이터 분석 코스 레슨 — 19개 중 15번째.
데이터를 그룹화하고 집계하는 것은 대규모 데이터 세트를 다룰 때 매우 중요합니다. 데이터를 더 쉽게 이해하고 분석할 수 있는 방식으로 단순화하고 요약하는 데 도움이 되기 때문입니다.
이전 레슨에서는 특정 그룹에 대한 통계를 계산했지만, 추가 도구 없이는 모든 그룹에 대한 통계를 계산하는 것이 어려울 수 있습니다. 이를 위해 .groupby() 메서드가 있습니다:
df.groupby('column_name')이것은 데이터프레임 행을 column_name의 값에 따라 그룹화하는 GroupBy 객체를 반환합니다. 이 GroupBy 객체에 집계 함수를 적용하여 해당 그룹 내에서 계산을 수행할 수 있습니다.
데이터가 그룹화되면 다음과 같이 데이터를 요약하기 위한 여러 집계 함수를 수행할 수 있습니다:
df.groupby('column_name').sum()
df.groupby('column_name').min()
df.groupby('column_name').max()이것은 column_name으로 나뉜 원본 데이터프레임의 다른 모든 숫자 열의 sum, min, max를 반환합니다.
이제 분석 중인 특정 열을 추출할 수 있습니다:
df.groupby('column_name').sum()['other_column']챌린지
쉬움CSV 파일 visits.csv는 특정 시간에 특정 위치에서 발생한 방문 횟수에 대한 정보를 포함하고 있습니다.
파일의 처음 5줄은 다음과 같습니다:
location_id,visits,timestamp
8,1771,27498
9,4187,79919
0,4959,54228
6,7721,41588다음 키를 가진 딕셔너리를 생성하세요: min, max, mean, std, sum, 그리고 median. 그리고 각 location_id별로 visits 열의 통계에 해당하는 series를 제공하세요.
직접 해보기
# pandas as pd가 이미 임포트되었습니다
df = pd.read_csv("./visits.csv")
# 아래에 코드를 작성하세요
sum_visits = df.groupby("location_id").sum()["visits"]
res = {
"min": # 채우기
"max": # 채우기
"mean": # 채우기
"std": # 채우기
"median": # 채우기
"sum": sum_visits
}
print(res)