[파이썬] pandas에서 DataFrame 스타일링

pandas는 파이썬의 데이터 분석 라이브러리 중 하나로, 데이터 처리와 분석에 많이 사용됩니다. DataFramepandas에서 가장 중요한 데이터 구조 중 하나이며, 표 형태의 데이터를 다루기에 매우 유용합니다.

DataFrame에 스타일링을 적용하면, 데이터 표시 방식을 변경하거나 강조할 수 있습니다. 이번 블로그에서는 pandas에서 DataFrame을 스타일링하는 방법에 대해 알아보겠습니다.

데이터 샘플 생성

먼저, 스타일링을 적용할 DataFrame의 샘플 데이터를 생성해보겠습니다. 아래는 학생들의 성적과 출석률을 담은 DataFrame 예시입니다.

import pandas as pd

data = {
    '이름': ['철수', '영희', '민수', '수영', '지훈'],
    '국어': [90, 80, 70, 85, 95],
    '영어': [85, 95, 75, 80, 90],
    '수학': [95, 70, 80, 90, 85],
    '출석률': [95, 90, 85, 80, 75]
}

df = pd.DataFrame(data)
df

출력:

  이름 국어 영어 수학 출석률
0 철수 90 85 95 95
1 영희 80 95 70 90
2 민수 70 75 80 85
3 수영 85 80 90 80
4 지훈 95 90 85 75

DataFrame 스타일링 적용

이제 DataFrame에 스타일링을 적용해보겠습니다. pandasStyler 클래스를 제공하여 스타일링을 적용할 수 있게 해줍니다. 여러 가지 스타일을 적용하기 위해 Styler 객체를 생성하고, 이를 DataFramestyle 속성에 할당합니다.

# 스타일링 함수 정의
def highlight_max(s):
    is_max = s == s.max()
    return ['background-color: yellow' if v else '' for v in is_max]

# 스타일 객체 생성
styled_df = df.style.apply(highlight_max, subset=['국어', '영어', '수학', '출석률'])

styled_df

출력:

  이름 국어 영어 수학 출석률
0 철수 90 85 95 95
1 영희 80 95 70 90
2 민수 70 75 80 85
3 수영 85 80 90 80
4 지훈 95 90 85 75

위 예제에서는 highlight_max라는 스타일링 함수를 정의하여 최댓값인 요소들을 노란색으로 강조했습니다. apply 메서드를 사용하여 함수를 적용하고, subset 매개변수를 통해 스타일링을 적용할 열을 선택했습니다.

그 외의 스타일링 기능

pandasDataFrame 스타일링은 최댓값이 아닌 다른 기준으로도 스타일을 지정할 수 있습니다. 몇 가지 유용한 스타일링 기능을 소개하면:

이러한 스타일링 기능들은 Styler 클래스의 다양한 메서드를 사용하여 적용할 수 있습니다.

결론

pandasDataFrame에 스타일링을 적용하는 방법에 대해 알아보았습니다. Styler 클래스를 사용하여 데이터를 시각적으로 더 잘 표현하고 강조할 수 있습니다. 추가적으로 알아볼만한 스타일링 기능들도 있으니, 참고하여 데이터 시각화에 활용해보세요.