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

问题描述 投票:0回答:1

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

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

请帮助我,谢谢。

python python-2.7 pandas seaborn
1个回答
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)

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

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

© www.soinside.com 2019 - 2024. All rights reserved.