如何从pandas数据透视表中删除重复的值?

所以我想重现一组excel的指令到python中。 问题是我对excel知之甚less,发生了什么。

我有一个数据框架:

no. name corrected no. corrected name 001 alpha 001 alpha 002 beta 002 beta 002 beta2 002 beta 003 gamma 003 gamma 004 delta 104 delta 003 omega 003 gamma ... ... ... ... 

在excel中,说明会在“ROWS”部分创build一个包含所有列的数据透视表。

我已经在pandas中用'groupby'和'pivot_table'做了这个

 df.groupby(['no.', 'name', 'corrected name'])[['corrected no.']].mean() or pd.pivot_table(df[['no.', 'name', 'corrected name', 'corrected no.']], index=['no.', 'name']) 

这看起来像:

 no. name corrected no. corrected name 001 alpha 001 alpha 002 beta 002 beta beta2 002 beta 003 gamma 003 gamma omega 003 gamma 004 delta 104 delta 

现在我想从具有多个名称的组中删除所有附加的行。 例如在这种情况下,我想删除'beta2'&'omega'行;

像这样的东西:

 no. name corrected no. corrected name 001 alpha 001 alpha 002 beta 002 beta 003 gamma 003 gamma 004 delta 104 delta 

所以每个“没有”只有一个“名字”。 问题是一旦我得到“数据透视表”,它返回一个表不能被操纵,只有1列。

无论如何,但与groupby结果:

 df = pd.read_clipboard(sep='\s{2,}') # sample rows s = df.groupby(['no.', 'name', 'corrected name'])[['corrected no.']].mean() s Out[27]: corrected no. no. name corrected name 1 alpha alpha 1 2 beta beta 2 beta2 beta 2 3 gamma gamma 3 omega gamma 3 4 delta delta 104 s.groupby(level=['no.', 'corrected name']).first() Out[28]: corrected no. no. corrected name 1 alpha 1 2 beta 2 3 gamma 3 4 delta 104