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 열을 그리는 방법