데이터를 상세히 살펴보지 않고도 집계된 데이터를 통해 통계적인 통찰을 얻는 것은 데이터 분석에서 중요한 부분입니다. 판다스에서는 sum(), mean(), max(), min(), count() 등의 메서드를 사용하여 데이터프레임을 간편하게 집계할 수 있습니다.
이때, 데이터를 분석하고 이해하는 과정에서 연속값과 범주값은 중요한 역할을 합니다. 연속값은 숫자로 표현되며 연속된 범위를 가지는 데이터를 나타냅니다. 반면 범주값은 일정한 카테고리 또는 그룹으로 나뉘어지는 값들을 의미합니다.
집계 하기
# total_bill 열의 합계 계산
total_bill_sum = df['total_bill'].sum()
print("Total Bill Sum:", total_bill_sum)
'total_bill' 열의 모든 값들을 더하여 그 합계를 계산합니다. 이를 통해 해당 열의 전체적인 금액 합을 쉽게 확인할 수 있습니다.
# total_bill 및 tip 열의 합계 계산
total_tip_sum = df[['total_bill', 'tip']].sum()
print("Total Bill and Tip Sum:")
print(total_tip_sum)
여기서는 'total_bill'과 'tip' 열의 합계를 함께 계산합니다. 결과는 각 열에 대한 합계가 포함된 시리즈로 출력됩니다.
groupby 메소드
# day별 tip 합계 계산 및 시리즈 생성
tip_sum_series = df.groupby('day')['tip'].sum()
print(tip_sum_series)
이 코드에서는 'day' 열을 기준으로 'tip' 열의 합계를 계산하고, 결과를 시리즈로 출력합니다.
# day별 tip 합계 계산 및 데이터프레임 생성
tip_sum_dataframe = df.groupby('day', as_index=False)[['tip']].sum()
print(tip_sum_dataframe)
위 코드에서는 'day' 열을 기준으로 'tip' 열의 합계를 계산하고, 결과를 데이터프레임으로 출력합니다. as_index=False를 설정하여 새로운 인덱스를 생성하고 기존의 행 번호를 인덱스로 사용하지 않습니다.
# day별 tip 최댓값 계산 (숫자 열만 집계)
tip_max_by_day = df.groupby(by='day', as_index=False)['tip'].max(numeric_only=True)
print(tip_max_by_day)
마지막으로는 'day' 열을 기준으로 'tip' 열의 최댓값을 계산하고, 결과를 데이터프레임으로 출력합니다. numeric_only=True를 설정하여 숫자 열만을 집계합니다.
이렇게 groupby()를 활용하면 데이터프레임에서 특정 범주값에 따른 연속값의 다양한 집계를 쉽게 수행할 수 있습니다.
'PYTHON > Pandas 판다스' 카테고리의 다른 글
[PYTHON] 데이터프레임 전처리 (범주데이터 변경 및 생성) (0) | 2024.03.10 |
---|---|
[PYTHON] 데이터프레임 전처리 (열 이름 변경, 추가, 삭제) (0) | 2024.03.10 |
[PYTHON] 데이터프레임 조회 (0) | 2024.03.10 |
[PYTHON] 데이터프레임 탐색 (0) | 2024.03.01 |
[PYTHON] 데이터프레임 생성 (0) | 2024.03.01 |