パンダのデータフレームを 1 つの列でグループ化すると、「バージョン」と言い、10 個の異なるバージョンがあります。トップ 3 (90% 以上をカバー) をプロットし、残りの小さな部分を 1 つの「その他」のバケットに入れるにはどうすればよいでしょうか。
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* は、例として選択されています。
もちろん、これは、グループ化してしきい値と比較した後、カテゴリを手動で「その他」に設定することで可能です。ショートカット希望でした。