Python 是否可以在数据透视表中仅删除一个aggfunc的重复项?

Python 是否可以在数据透视表中仅删除一个aggfunc的重复项?,python,pandas,dataframe,pivot-table,Python,Pandas,Dataframe,Pivot Table,我正在pandas中构建一个透视表,需要对数据应用各种函数。我的问题是,对于某些aggfunc,我需要将它们应用于整个数据集,而对于其他aggfunc,我需要在应用函数之前删除重复项。我的数据帧与此类似: 我使用的数据帧与此类似: 名称 指标1 指标2 国家 付款 约翰 0.10 5 加拿大 100 约翰 0.30 1 加拿大 100 约翰 .40 加拿大 100 简 0.50 美国 30 简 美国 30 杰克 英国 50 杰克 .70 2. 英国 50 杰克 1 英国 50 杰克 英国 50

我正在pandas中构建一个透视表,需要对数据应用各种函数。我的问题是,对于某些aggfunc,我需要将它们应用于整个数据集,而对于其他aggfunc,我需要在应用函数之前删除重复项。我的数据帧与此类似:

我使用的数据帧与此类似:

名称 指标1 指标2 国家 付款 约翰 0.10 5 加拿大 100 约翰 0.30 1 加拿大 100 约翰 .40 加拿大 100 简 0.50 美国 30 简 美国 30 杰克 英国 50 杰克 .70 2. 英国 50 杰克 1 英国 50 杰克 英国 50 波利 0.30 加拿大 150 迈克 阿根廷 80 迈克 阿根廷 80 史蒂夫 加拿大 20 百合花 0.15 1.20 墨西哥 40 凯特 3 澳大利亚 90 爱德华 0.05 澳大利亚 70 皮特 0.02 0.03 新西兰 20
由于不对列payment执行其他操作,因此可以
屏蔽列名称中重复的
值(因此替换为
nan

pd.pivot_table(df.assign(Payment=lambda x: x['Payment'].mask(x['Name'].duplicated())),
               index=['Country'],values=["Name","Metric 1","Metric 2","Payment"],
               aggfunc={'Name':pd.Series.nunique, "Metric 1":metricgreaterthanone,
                        "Metric 2":metricgreaterthanone,"Payment":np.sum},
               margins=True)

             Metric 1  Metric 2  Name  Payment
Country                                       
Argentina         NaN       NaN     1     80.0
Australia         0.5       NaN     2    160.0
Canada            0.0  0.333333     3    270.0
Mexico            0.0  1.000000     1     40.0
New Zealand       0.0  0.000000     1     20.0
UK                0.0  0.000000     1     50.0
US                0.0       NaN     1     30.0
All               0.0  0.666667     3    160.0
对于
页边距
问题,您可以看到