Pandas에서 그룹별로 히스토그램을 그리는 방법


다음 방법을 사용하여 Pandas DataFrame에서 그룹별로 히스토그램을 그릴 수 있습니다.

방법 1: 여러 도표를 사용하여 그룹별로 히스토그램 그리기

 df[' values_var ']. hist (by=df[' group_var '])

방법 2: 단일 플롯을 사용하여 그룹별로 히스토그램 플롯

 plt. hist (group1, alpha= 0.5 , label=' group1 ')
plt. hist (group2, alpha= 0.5 , label=' group2 ')
plt. hist (group3, alpha= 0.5 , label=' group3 ')

다음 예에서는 서로 다른 세 팀의 농구 선수가 득점한 점수를 보여주는 다음 pandas DataFrame을 사용하여 실제로 각 방법을 사용하는 방법을 보여줍니다.

 import pandas as pd
import numpy as np

#make this example reproducible
n.p. random . seeds (1)

#createDataFrame
df = pd. DataFrame ({' team ': np.repeat ([' A ',' B ',' C '], 100 ),
                   ' points ': np. random . normal (loc= 20 , scale= 2 , size= 300 )})

#view head of DataFrame
print ( df.head ())

  team points
0 A 23.248691
1 A 18.776487
2 A 18.943656
3 A 17.854063
4 A 21.730815

예 1: 여러 도표를 사용하여 그룹별로 히스토그램 그리기

다음 코드는 세 팀 각각의 플레이어가 득점한 점수 분포를 표시하는 세 개의 히스토그램을 만드는 방법을 보여줍니다.

 #create histograms of points by team
df[' points ']. hist (by=df[' team '])

또한 edgecolor 인수를 사용하여 각 히스토그램에 가장자리 선을 추가하고 figsize 인수를 사용하여 각 히스토그램의 크기를 늘려 시각화할 수 있습니다.

 #create histograms of points by team
df[' points ']. hist (by=df[' team '], edgecolor=' black ', figsize = ( 8 , 6 )) 

예 2: 단일 플롯을 사용하여 그룹별로 히스토그램 플롯

다음 코드는 세 개의 히스토그램을 생성하고 모두 동일한 플롯에 배치하는 방법을 보여줍니다.

 import matplotlib.pyplot as plt

#define points values by group
A = df. loc [df[' team '] == ' A ', ' points ']
B = df. loc [df[' team '] == ' B ', ' points ']
C = df. loc [df[' team '] == ' C ', ' points ']

#add three histograms to one plot
plt. hist (A, alpha= 0.5 , label=' A ')
plt. hist (B, alpha= 0.5 , label=' B ')
plt. hist (C, alpha= 0.5 , label=' C ')

#add plot title and axis labels
plt. title (' Points Distribution by Team ')
plt. xlabel (' Points ')
plt. ylabel (' Frequency ')

#add legend
plt. legend (title=' Team ')

#displayplot
plt. show ()

최종 결과는 서로 겹쳐진 세 개의 히스토그램을 표시하는 플롯입니다.

참고 : alpha 인수는 각 히스토그램의 투명도를 지정합니다. 이 값의 범위는 0에서 1까지입니다. 이 값을 0.5로 설정하면 중첩된 각 히스토그램을 더 잘 시각화할 수 있습니다.

추가 리소스

다음 튜토리얼에서는 Python에서 다른 일반적인 플롯을 만드는 방법을 설명합니다.

Matplotlib에서 여러 줄을 그리는 방법
Pandas DataFrame에서 상자 그림을 만드는 방법
막대 차트에 여러 Pandas 열을 그리는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다