[英]Retaining pandas dataframe rows which have maximum number of item occurrences in a column
按 'cluster' 分組並使用transform('count')
通過具有適當形狀的集群獲得一系列出現。 然后使用它僅屏蔽與最大出現次數相對應的行。
cluster_counts = df.groupby('cluster')['name'].transform('count')
res = df[cluster_counts == cluster_counts.max()]
輸出:
>>> res
name cluster
0 john 1
1 joe 2
3 richard 1
4 sam 2
設置:
import pandas as pd
df = pd.DataFrame({'name':['john','joe','bill','richard','sam'],
'cluster':['1','2','3','1','2']})
您可以通過df['cluster'].value_counts()
獲取cluster
值的最大計數,然后使用isin
過濾cluster
列
c = df['cluster'].value_counts()
out = df[df['cluster'].isin(c[c.eq(c.max())].index)]
print(out)
name cluster
0 john 1
1 joe 2
3 richard 1
4 sam 2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.