본문 바로가기
파이썬

파이썬 Python : Seaborn 막대 플롯에서 백분율 플로팅

by º기록 2020. 11. 8.
반응형

데이터 프레임의 경우

import pandas as pd
df=pd.DataFrame({'group':list("AADABCBCCCD"),'Values':[1,0,1,0,1,0,0,1,0,1,0]})

A, B, C, D 가 0 (또는 1)을 취하는 시간의 백분율을 보여주는 막대 그래프를 그리려고합니다.

나는 작동하는 방법에 대한 라운드가 있지만 더 직접적인 방법이 있어야한다고 생각합니다.

tempdf=df.groupby(['group','Values']).Values.count().unstack().fillna(0)
tempdf['total']=df['group'].value_counts()
tempdf['percent']=tempdf[0]/tempdf['total']*100

tempdf.reset_index(inplace=True)
print tempdf

sns.barplot(x='group',y='percent',data=tempdf)

평균값 만 플로팅하는 경우 tempdf보다 df 데이터 프레임에서 sns.barplot 을 수행 할 수 있습니다. 백분율 플로팅에 관심이 있다면 우아하게 어떻게해야할지 모르겠습니다.

감사,

 

해결 방법

 


추정기 : 벡터를 매핑하는 호출 가능-> 스칼라, 선택 사항
각 범주 형 빈 내에서 추정 할 통계 함수입니다.

당신의 경우 함수를 람다로 정의 할 수 있습니다.

sns.barplot(x='group', y='Values', data=df, estimator=lambda x: sum(x==0)*100.0/len(x))


 

참조 페이지 https://stackoverflow.com/questions/35692781

 

 

반응형

댓글