93 개의 기능과 9 개의 클래스 레이블이있는 데이터 프레임이 있습니다. 각 기능에 대한 값을 각 클래스 레이블과 함께 플로팅하고 싶지만 데이터 세트의 한 기능을 나타내는 각 플롯 93 개의 서브 플롯을 생성하려고합니다. 하나의 플롯을 생성 할 수 있습니다. 다음과 같습니다.
sns.catplot(x="feat_1", y="target", data=train)
이제 기본적으로 같은 것을 반복하고 싶지만 패싯 그리드 형태로 93 번 반복합니다. 5 개의 열과 19 개의 행이있는 서브 플롯을 생성 한 다음 축을 반복했지만 비참하게 실패했습니다. 도움을 주셔서 감사합니다. 제 데이터는 다음과 같습니다 (특성 열 93 개와 대상 열 1 개).
feat_1 feat_2 feat_3 feat_4 feat_5 feat_6 feat_7 feat_8 feat_9 feat_10 ... feat_85 feat_86 feat_87 feat_88 feat_89 feat_90 feat_91 feat_92 feat_93 target
id
32518 0 0 0 1 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 0 0 Class_6
31734 0 1 7 5 0 0 0 0 0 1 ... 0 0 0 1 2 0 1 4 0 Class_6
57027 0 0 0 0 0 0 0 2 0 0 ... 0 0 0 0 0 0 1 0 0 Class_9
31629 0 1 0 0 0 0 0 1 1 0 ... 0 0 0 1 2 0 0 0 0 Class_6
14216 2 0 0 0 0 0 0 0 0 0 ... 0 0 0 1 0 0 0 0 0 Class_2
17376 0 0 0 0 0 0 0 0 0 0 ... 0 2 0 1 0 0 0 0 0 Class_2
10520 1 0 0 0 0 0 0 0 0 0 ... 0 3 0 0 0 0 0 0 0 Class_2
7665 0 0 0 0 0 0 0 0 0 0 ... 0 2 0 3 0 0 0 0 0 Class_2
26692 0 0 0 0 0 0 0 0 0 0 ... 4 0 0 0 0 0 0 0 0 Class_4
36809 0 0 3 4 0 0 0 0 0 0 ... 0 0 0 0 0 0 0 1 0 Class_6
47959 0 1 0 3 0 2 1 0 0 1 ... 6 0 0 0 1 1 0 0 1 Class_7
22649 0 0 0 0 1 0 0 0 0 1 ... 21 0 1 0 0 2 0 0 0 Class_3
34550 0 0 1 2 0 0 1 0 0 0 ... 0 0 1 0 0 1 1 1 1 Class_6
39943 3 0 0 0 0 0 0 0 0 0 ... 0 0 2 0 0 0 0 0 0 Class_6
38900 1 0 6 14 0 0 1 0 0 0 ... 0 0 1 0 0 0 0 0 0 Class_6
26333 0 0 1 0 0 0 1 1 0 0 ... 0 0 1 1 0 0 0 0 0 Class_4
16126 0 0 0 0 0 0 0 0 0 0 ... 0 0 1 10 0 0 0 0 0 Class_2
10490 0 0 0 0 0 0 0 1 0 0 ... 0 0 0 0 0 0 0 3 0 Class_2
58603 0 0 0 0 0 0 0 1 0 0 ... 0 0 0 0 0 0 28 0 1 Class_9
52668 0 0 1 2 0 0 0 4 0 0 ... 0 0 0 0 4 0 0 0 0 Class_8
시본의 사용 활용 FacetGrid
(에 의해 사용되는을 catplot
) 당신은 "오래"를 "와이드"에서 당신 dataframe을 변환 할 필요가
# dummy dataframe
N=20
N_features = 10
N_classes = 5
df = pd.DataFrame({f'feat_{i+1}': np.random.random(size=(N,)) for i in range(N_features)})
df['target'] = np.random.choice([f'Class_{i+1}' for i in range(N_classes)], size=(N,))
# transform from wide to long, then plot using the column 'features' to facet
df2 = df.melt(id_vars=['target'], var_name='features')
sns.catplot(data=df2, x='value', y='target', col='features', col_wrap=5, height=3, aspect=0.5)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다