Python 如何聚合数据透视表中仅多于1个的组

Python 如何聚合数据透视表中仅多于1个的组,python,pandas,pivot-table,Python,Pandas,Pivot Table,我有以下代码,但我只想对两个或更多的组进行聚合: pivot = pd.pivot_table(pct, values = ['CERT'], index= 'ST', aggfunc={'CERT': [min, max, np.mean]}).reset_index(level = 0).set_index('ST', drop = False) 尝试过石斑鱼,但后来意识到这只适用于时间序列 Sample Data Input: ST CERT AL 8909 TX 98

我有以下代码,但我只想对两个或更多的组进行聚合:

 pivot = pd.pivot_table(pct, values = ['CERT'], index= 'ST', aggfunc={'CERT': [min, max, np.mean]}).reset_index(level = 0).set_index('ST', drop = False)
尝试过石斑鱼,但后来意识到这只适用于时间序列

 Sample Data Input:

 ST  CERT
 AL  8909
 TX  9805
 TX  7890

 Sample Data Output:

 ST  Min_Cert Max_Cert Mean_Cert
 TX  7890     9805     X

如上所述,只有TX数据被聚合,因为它有两个以上的条目。

为什么不首先过滤所有有
计数的行

c = df.groupby('ST').count()>1
new_df = df[df.ST.isin(c[c.values].index)]
那就用你的工作代码吧

pd.pivot_table(new_df, values = ['CERT'], index= 'ST', aggfunc={'CERT': [min, max, np.mean]}).reset_index(level = 0).set_index('ST', drop = False)

@谢谢你的解决方案。如果我们仍然想使用pivot_table方法,我还发现了另一种解决方案。谢谢

pivot = pd.pivot_table(pct.loc[pct.groupby('ST').CERT.transform('count')>1], values=
['CERT'], index=['ST'], aggfunc={'CERT': [min, max, np.mean]}).reset_index(level = 
0).set_index('ST', drop = False)

pivot.columns = ['ST', 'Min_CERT', 'Max_CERT', 'Mean_CERT']

谢谢你的帮助。

你想提出一些样本数据和你的预期产量吗?@Wen我已经在上面添加了数据