df.boxplot()
에서 반환 된 축 객체를 저장하고 동일한 축을 사용하여 선의 플롯으로 그려 볼 수 있습니다. Seaborn의 pointplot
을 선으로 사용하는 것이 좋겠지 만 범주 형 x- 축을 멋지게 처리합니다.
import pandas as pd
import numpy as np
import seaborn as sns
N = 150
values = np.random.random(size=N)
groups = np.random.choice(['A','B','C'], size=N)
df = pd.DataFrame({'value':values, 'group':groups})
print(df.head())
group value
0 A 0.816847
1 A 0.468465
2 C 0.871975
3 B 0.933708
4 A 0.480170
...
다음, 상자 그림을하고 축 개체를 저장 :
우선의 일부 샘플 데이터를 생성 할 수
ax = df.boxplot(column='value', by='group', showfliers=True,
positions=range(df.group.unique().shape[0]))
참고 : Pyplot/팬더 boxplot()
에 호기심 positions
인수가 있습니다있는 off-by-one 오류가 발생할 수 있습니다. this discussion에서 더 많은 내용을 참조하십시오.
마지막으로, 카테고리는 의미 얻을 groupby
을 사용하고 상자 그림 위에 겹쳐 선 그림으로 평균 값을 연결합니다
sns.pointplot(x='group', y='value', data=df.groupby('group', as_index=False).mean(), ax=ax)
귀하의 제목은 있지만 이야기 "중간"언급 카테고리 란 귀하의 게시물에 있음을 의미합니다. 나는 여기서 의미를 사용했다. 중앙값을 플롯하려면 으로 groupby
집합을 변경하십시오.
훌륭한 답변입니다. Seaborn 패키지를 사용하지는 않았지만이 작업을 수행해야하는 것은 논리적 인 선택 인 것 같습니다. 이미 모든 종속성이 있습니다. 감사! – Patratacus