首页 > 解决方案 > 当一个序列在 df 的集群中时删除原始数据

问题描述

我有一个数据框,例如:

Cluster sequence_name
1   specie1
1   specie2
1   specie3
1   sequence1
1   sequence2
2   specie8
3   specie2
4   sequence1
4   sequence3
4   specie56
...

我想删除所有只包含一个序列的集群,在这个例子中我应该得到:

Cluster sequence_name
1   specie1
1   specie2
1   specie3
1   sequence1
1   sequence2
4   sequence1
4   sequence3
4   specie56
...

谢谢您的帮助 。

标签: pythonpandas

解决方案


使用groupbyand进行布尔索引transform

df[df.groupby('Cluster')['sequence_name'].transform('size') > 1]

   Cluster sequence_name
0        1       specie1
1        1       specie2
2        1       specie3
3        1     sequence1
4        1     sequence2
7        4     sequence1
8        4     sequence3
9        4      specie56

推荐阅读