当按一列对熊猫数据框进行分组时,说“版本”,它有 10 个不同的版本。如何绘制前 3 名(覆盖 90% 以上)并将剩余的小部分放入一个“其他”桶中。
data = array([
('Top1', 14),
('Top1', 3),
('Top1', 2),
('Top2', 6),
('Top2', 7),
('Other1', 1),
('Other2', 2),
],
dtype=[('Version', 'S10'),('Value', '<i4')])
df = DataFrame.from_records(data)
df.groupby('Version').sum()
这将返回:
Value
Version
Other1 1
Other2 2
Top1 19
Top2 13
我在找
Value
Version
Others
Top1 19
Top2 13
版本名称 Other* 和 Top* 仅用于示例。
当然,这可以通过在分组并与阈值比较后手动将类别设置为“其他”来实现。我希望有一条捷径。