Barplot包含前N个项目和剩余项目的一个bin

时间:2017-12-28 04:56:26

标签: python python-2.7 pandas seaborn

我想在数据框列中绘制项目的频率。我目前拥有以下内容:

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个元素的出现次数。有关前15项的信息,请参见下图。 enter image description here

我想做什么:

绘制前N个元素+为剩余元素绘制另一个条形图。 有关可视化,请参见下图。enter image description here

请帮助我,谢谢。

1 个答案:

答案 0 :(得分: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)

我刚刚总结了数据框列中的剩余计数,并为此创建了一个单独的系列,然后加入了这两个系列。

可能有一种更简单的方法可以做到这一点,但这就是我提出来的。