摆脱 Pandas 或其 PieChart 可视化引擎中无关紧要数据的聪明方法?

A smart way to get rid of insignificant data in Pandas or its visualization engine for PieChart?

可能会有很多无关紧要的边缘情况和数据噪声。我想要一个饼图(基于 Bokeh 或任何其他开源、免费的绘图库),可以看到这样的数据:

type size
 S    1
 V    2
 T    200
 ...
 Z    3333

减少到它的核心,将微不足道的(< 1% 类型大小)噪声放入新的 "other" 类型中。

1) Pandas 可以自己做吗?如何? 2)是否有一些可视化已经集成了这样的功能?

考虑 pandas 系列 a 和值计数

import pandas as pd
import numpy as np
from string import ascii_uppercase

np.random.seed([3,1415])
types = np.random.permutation(list(ascii_uppercase))
r = np.arange(1, 27)
r = r / r.sum()
s = np.random.choice(types, 10000, p=r)

a = pd.value_counts(s)

a.plot.pie(colormap='jet');


现在将所有代表少于 3% 的组归为一组 other

n = a / a.sum()

f = n < .03

a[~f].append(pd.Series(a[f].sum(), ['other'])).plot.pie(colormap='jet')