2017-12-28 3 views
0

데이터 프레임 열에 항목의 빈도를 표시하려고합니다. 현재 가지고있는 것은 다음과 같습니다.나머지 N 항목이있는 막대 그래프와 나머지 항목은 하나의 빈으로 구성됩니다.

cnt_srs = df['item_code'].value_counts().head(N) ## Top N elements 
plt.figure(figsize=(16,8)) 
sns.barplot(cnt_srs.index, cnt_srs.values, alpha=0.8, color=color[7]) 
plt.ylabel('Number of Occurrences', fontsize=12) 
plt.xlabel('Item Code', fontsize=12) 
plt.xticks(rotation='vertical') 
plt.suptitle('Top 40 Items', fontsize=20) 
plt.show() 

이것은 기본적으로 상위 N 개 요소의 발생 횟수를 나타냅니다. Top 15 Items에 대한 아래 도표를보십시오.

플롯 상위 N 요소 + 나머지 요소에 대한 또 다른 줄을 플롯 : enter image description here

내가 뭘 원하는지. 시각화는 아래 그림을 참조하십시오. enter image description here

친절하게 도와주세요, 감사합니다.

답변

0

이것은 가능한 한 가지 방법입니다.

listy = list() 
listy.append(df['item_code'].value_counts()[N:].agg('sum')) 
othr_srs = pd.Series(listy[0], index=['others']) 
cnt_srs = cnt_srs.append(othr_srs) 

I 단지 dataframe 열의 나머지 횟수를 합산하고 대한 별도의 시리즈를 생성 한 후, 단지 2 개의 직렬 합류.

내가 할 수있는 간단한 방법이 있을지 모르지만이게 내가 생각해 낸 것입니다.