Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python Pandas로 특정 속성의 밀도 플롯(Density Plot) 그리기

데이터 분석에서 밀도 플롯(Density Plot)은 데이터가 어떻게 분포되어 있는지 시각적으로 파악하는 데 유용한 도구입니다. 이 글에서는 CSV 파일 형태의 데이터셋을 대상으로 Pandas의 plot.density() 메서드를 사용해 밀도 플롯을 그리는 방법을 알아보겠습니다.

1. 필요한 라이브러리 불러오기

먼저 데이터 처리를 위한 pandas와 시각화를 위한 matplotlib 라이브러리를 임포트합니다.

import pandas as pd
import matplotlib.pyplot as plt

2. CSV 파일에서 데이터 불러오기

예제에서 사용할 데이터셋은 Cricketers2.csv 파일입니다. read_csv() 함수를 사용해 CSV 파일의 데이터를 Pandas DataFrame으로 불러옵니다.

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")

3. 밀도 플롯 그리기

밀도 플롯은 plot.density() 메서드로 간단하게 생성할 수 있습니다. 여기서는 크리켓 선수들의 나이를 나타내는 "Age" 속성을 기준으로 밀도 플롯을 그려보겠습니다. 색상은 color 매개변수를 통해 지정할 수 있습니다.

dataFrame.Age.plot.density(color='green')

전체 예제 코드

지금까지 설명한 내용을 모두 포함한 완전한 코드는 다음과 같습니다.

import pandas as pd
import matplotlib.pyplot as plt

# CSV 파일에서 데이터를 읽어 Pandas DataFrame으로 불러오기
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")

# 밀도 플롯 그리기
# 기준 속성: "Age"
dataFrame.Age.plot.density(color='green')
plt.title('Density plot = Age')
plt.show()

실행 결과

위 코드를 실행하면 "Age" 속성에 대한 녹색 밀도 곡선이 그려진 플롯이 출력됩니다. 이 곡선을 통해 선수 나이 데이터가 어떤 구간에 집중되어 있는지 한눈에 확인할 수 있으며, 데이터의 분포 형태(정규분포 여부, 치우침 정도 등)를 직관적으로 파악할 수 있습니다.

밀도 플롯은 히스토그램과 유사하지만 연속적인 곡선으로 표현되기 때문에 구간(bin) 설정에 따른 왜곡 없이 부드러운 분포 형태를 보여준다는 장점이 있습니다. 다른 수치형 속성에 대해서도 동일한 방법으로 쉽게 적용할 수 있습니다.