Skip to content

판다스 시각화: 단계별 튜토리얼

Updated on

파이썬의 판다스 라이브러리는 세계의 데이터 과학자와 분석가들이 매일 사용하는 강력한 도구입니다. 그 중 가장 매력적인 기능 중 하나는 강력한 데이터 시각화 능력입니다. 이 글은 판다스를 사용하여 매력적인 도표를 만드는 과정을 안내하여 원시 데이터를 통찰력있는 차트로 변환하는 데 필요한 기술을 제공합니다.

판다스 플로팅은 데이터를 예쁘게 만드는 것뿐만 아니라 숨겨진 이야기를 해제하는 데 있습니다. 새로운 데이터 세트를 탐색하거나 최신 결과를 공유하기 준비 중이든 상관 없이 시각화는 데이터 기반 인사이트를 전달하기 위한 핵심입니다.

절대적으로, 더 자세한 설명과 샘플 코드 스니펫으로 각 세그먼트에 더 깊이 파고들어 보겠습니다.

판다스 시각화를 위한 plot 함수 사용하기

판다스는 시각화에 매우 적합한 상위 수준, 유연하고 효율적인 데이터 구조인 DataFrame을 제공합니다. .plot() 함수를 사용하여 다양한 플롯(선, 막대, 산점도 등)을 생성할 수 있습니다. 이 함수는 다용도 Matplotlib 라이브러리를 감싸고 있어 복잡한 시각화를 쉽게 만들 수 있습니다.

예를 들어, 판다스를 사용하여 첫 번째 여정을 시작하는 경우 데이터에서 가치있는 추세를 표시할 수 있는 기본적인 선 플롯을 곧 만들 수 있습니다. 선 플롯은 데이터의 시간별 표시에 뛰어나기 때문에 시계열 데이터 분석에 이상적입니다.

다음은 판다스로 선 플롯을 만드는 간단한 예입니다:

import pandas as pd
import numpy as np
 
# DataFrame 생성
df = pd.DataFrame({
   'A': np.random.rand(10),
   'B': np.random.rand(10)
})
 
df.plot(kind='line')

이 코드에서 우리는 먼저 필요한 라이브러리를 가져옵니다. 그런 다음 두 개의 열을 갖는 DataFrame을 생성합니다. 마지막으로 .plot() 함수를 사용하여 선 플롯을 생성합니다.

그러나 코드 없이 판다스 데이터프레임을 시각화하기 위한 시각적 UI를 사용하려면 어떻게 해야 할까요? 다행히도 문제를 해결할 수 있는 판다스 데이터프레임이 있습니다.

판다스 시각화를 위해 PyGWalker 사용하기

PyGWalker는 탐색적 데이터 분석 및 쉬운 데이터 시각화를 위해 설계된 Python 라이브러리입니다. Jupyter Notebook 안에서 오픈 소스 Tableau를 실행하는 것으로 생각할 수 있습니다. 복잡한 코딩 튜토리얼을 확인하는 대신 변수를 끌어다 놓음으로써 쉽게 시각화를 생성할 수 있습니다:

PyGWalker를 사용한 판다스 시각화

빠르게 시작하는 방법은 다음과 같습니다:

Jupyter Notebook에서 pygwalker와 pandas를 가져옵니다.

import pandas as pd
import pygwalker as pyg

pygwalker를 사용하면 기존의 작업 흐름을 유지할 수 있습니다. 예를 들어, 다음과 같이 데이터프레임을 로드한 상태에서 그래픽 워커를 호출할 수 있습니다:

df = pd.read_csv('./bike_sharing_dc.csv', parse_dates=['date'])
gwalker = pyg.walk(df)

polars와 함께 pygwalker를 사용할 수도 있습니다 (pygwalker>=0.1.4.7a0 이상 버전부터):

import polars as pl
df = pl.read_csv('./bike_sharing_dc.csv',try_parse_dates = True)
gwalker = pyg.walk(df)

이제 판다스 데이터프레임이 로드되었습니다.

데이터 시각화를 위한 판다스 데이터프레임 생성

이것만으로도 Tableau와 유사한 사용자 인터페이스를 통해 변수를 끌어와서 데이터를 분석하고 시각화할 수 있습니다.

PyGWalker는 개발자와 데이터 과학자들의 활발한 커뮤니티에 의해 지원됩니다. PyGWalker GitHub (opens in a new tab)를 방문하고 ⭐️를 남기세요!

지금 바로 Google Colab이나 Kaggle Notebook에서 PyGWalker를 시도해 볼 수 있습니다:

Kaggle에서 실행 (opens in a new tab)Colab에서 실행 (opens in a new tab)
Kaggle 코드 (opens in a new tab)Google Colab (opens in a new tab)

다양한 플롯 유형으로 들어가기

판다스는 다양한 플롯 유형을 제공하며 각각이 다른 종류의 데이터와 다른 질문에 적합합니다. 예를 들어, 히스토그램은 데이터의 분포를 파악하는 데 좋고, 산점도는 서로 다른 데이터 포인트 간의 상관 관계를 발견하는 데 도움이 될 수 있습니다.

판다스의 각 플롯 유형은 사용자 정의할 수 있는 일련의 매개변수를 제공합니다. 이러한 매개변수를 이해하고 언제 사용해야 하는지 알면 의미있는 시각화를 만드는 능력이 크게 향상될 수 있습니다.

다음은 히스토그램과 산점도를 만드는 방법입니다:

# 히스토그램
df['A'].plot(kind='hist')
 
# 산점도
df.plot(kind='scatter', x='A', y='B')

첫 번째 플롯에서는 'A' 열의 히스토그램을 만들고 있습니다. 두 번째 플롯에서는 x축에 'A', y축에 'B'를 사용하여 산점도를 만들고 있습니다.

판다스로 범주형 데이터 다루기

범주형 데이터는 많은 데이터셋에서 마주치게되는 일반적인 유형의 데이터입니다. 판다스는 이러한 유형의 데이터를 시각화하기 위한 강력한 도구를 제공합니다. 예를 들어, 막대 그래프는 다른 범주를 비교하는 데 도움이되고, 파이 그래프는 범주간의 비율을 시각화하는 데 우수합니다.

또한 판다스는 범주에 기반하여 데이터를 그룹화할 수 있도록하여 데이터를 집계하고 범주 수준에서 통찰력을 도출하는 데 매우 유용합니다.

다음은 막대 그래프와 파이 그래프를 만드는 예입니다:

# 범주형 데이터를 포함하는 DataFrame 생성

먼저 우리는 범주형 데이터로 DataFrame을 만듭니다. 그런 다음 'Fruit' 열을 기준으로 데이터를 그룹화하고 각 과일의 'Count'를 합산합니다. 마지막으로 합산된 개수에 대한 막대 그래프와 파이 그래프를 만듭니다.

그림을 사용자 정의하기

Pandas 시각화의 가장 강력한 기능 중 하나는 그림을 사용자 정의하는 기능입니다. 이는 그림의 색상과 스타일을 변경하고 레이블과 제목을 추가하는 등의 작업을 포함합니다.

다음은 선 그래프를 사용자 정의하는 예입니다:

# DataFrame 만들기
df = pd.DataFrame({
   'A': np.random.rand(10),
   'B': np.random.rand(10)
})
 
# 사용자 정의된 선 그래프 만들기
df.plot(kind='line', 
        color=['red', 'blue'], 
        style=['-', '--'], 
        title='나의 선 그래프', 
        xlabel='인덱스', 
        ylabel='값')

이 코드에서는 먼저 두 개의 열이 있는 DataFrame을 만들고 각각 랜덤한 숫자로 채웁니다. 그런 다음 선 그래프를 만들고 선의 색상과 스타일을 설정하고 제목과 x축 및 y축 레이블을 추가하여 사용자 정의합니다.

더 복잡한 데이터 구조 다루기

Pandas는 간단한 데이터 구조만 다루는 것에 제한되지 않습니다. 다중 인덱스 DataFrame 및 시계열 데이터와 같은 더 복잡한 데이터 구조도 처리할 수 있습니다.

다음은 다중 인덱스 DataFrame에서 선 그래프를 만드는 예입니다:

# 다중 인덱스 DataFrame 만들기
index = pd.MultiIndex.from_tuples([(i,j) for i in range(5) for j in range(5)])
df = pd.DataFrame({
   'A': np.random.rand(25),
   'B': np.random.rand(25)
}, index=index)
 
# 선 그래프 만들기
df.plot(kind='line')

이 코드에서는 먼저 두 개의 열이 있는 다중 인덱스 DataFrame을 만들고 각각 랜덤한 숫자로 채웁니다. 그런 다음 이 DataFrame에서 선 그래프를 만듭니다.

Seaborn을 사용한 고급 시각화

Pandas는 데이터 시각화에 튼튼한 기초를 제공하지만 때로는 더 고급 도구가 필요할 수도 있습니다. Seaborn은 Matplotlib를 기반으로 한 Python 데이터 시각화 라이브러리로 아름답고 유익한 시각화를 생성하기 위한 고수준 인터페이스를 제공합니다.

다음은 Pandas DataFrame에서 Seaborn 그림을 생성하는 예입니다:

import seaborn as sns
 
# DataFrame 로드
df = pd.read_csv('bikesharing_dc.csv', parse_dates=['date'])
 
# Seaborn 그림 생성
sns.lineplot(data=df, x='date', y='count')

이 코드에서는 먼저 Seaborn 라이브러리를 가져옵니다. 그런 다음 DataFrame을 로드하고 'date' 열을 x축으로, 'count' 열을 y축으로하여 선 그래프를 만듭니다.

Plotly를 사용한 대화형 시각화

대화형 시각화를 위해서는 Plotly가 좋은 선택입니다. Plotly는 상호작용 가능하고 출판 품질의 그래프를 만드는 Python 그래프 라이브러리입니다.

다음은 Pandas DataFrame에서 Plotly 그림을 생성하는 예입니다:

import plotly.express as px
 
# DataFrame 로드
df = pd.read_csv('bikesharing_dc.csv', parse_dates=['date'])
 
# Plotly 그림 생성
fig = px.line(df, x='date', y='count')
fig.show()

이 코드에서는 먼저 Plotly Express 모듈을 가져옵니다. 그런 다음 DataFrame을 로드하고 'date' 열을 x축으로, 'count' 열을 y축으로하여 선 그래프를 만듭니다. fig.show() 명령은 대화형 그림을 표시합니다.

결론

Pandas는 Python에서 데이터 분석 및 시각화를 위한 강력한 도구입니다. 강력한 플로팅 기능과 Matplotlib, Seaborn, Plotly, PyGWalker와 같은 다른 시각화 라이브러리와의 호환성을 통해 데이터에서 통찰력을 얻기 위한 다양한 시각화를 생성할 수 있습니다. 초보자든 경험있는 데이터 과학자든, Pandas 시각화를 마스터하는 것은 데이터 분석 워크플로우를 향상시킬 수 있는 가치 있는 기술입니다.

FAQ

  1. Python에서 Pandas는 무엇인가요?

    • Pandas는 데이터 조작 및 분석을 위해 Python 프로그래밍 언어로 작성된 소프트웨어 라이브러리입니다. 구조적인 데이터를 조작하는 데 필요한 데이터 구조와 함수를 제공합니다.
  2. 데이터 시각화를 위해 Pandas는 어떻게 사용되나요?

    • Pandas는 plot() 함수와 DataFrame 및 Series 객체를 사용하여 데이터를 직접 플로팅하기 위한 다양한 플로팅 방법을 사용할 수 있도록 지원합니다.
  3. Pandas 시각화를 위한 가장 인기 있는 라이브러리들은 무엇인가요?

    • Pandas에서 데이터 시각화에 대한 가장 인기 있는 라이브러리로는 Matplotlib, Seaborn, Plotly, PyGWalker 등이 있습니다. 이러한 라이브러리는 Python에서 정적, 동적 및 대화형 플롯을 생성하기 위한 다양한 도구와 기능을 제공합니다.