当前位置:  开发笔记 > 编程语言 > 正文

Pandas Pivot表Aggfunc列表

如何解决《PandasPivot表Aggfunc列表》经验,为你挑选了2个好方法。

Pandas Pivot表Agg函数字典

我试图aggregative在旋转期间计算3个函数:

    计数

    意思

    发网

这是代码:

n_page = (pd.pivot_table(Main_DF, 
                         values='SPC_RAW_VALUE',  
                         index=['ALIAS', 'SPC_PRODUCT', 'LABLE', 'RAW_PARAMETER_NAME'], 
                         columns=['LOT_VIRTUAL_LINE'],
                         aggfunc={'N': 'count', 'Mean': np.mean, 'Sigma': np.std})
          .reset_index()
         )

我得到的错误是: KeyError: 'Mean'

我该如何计算这3个函数?



1> 小智..:

正如@ Happy001在批准的答案中所写的那样,aggfunc不能做错dict.我们实际上可以传递dictaggfunc.

一个非常方便的功能是能够传递dictionaryaggfunc你,所以你可以对你选择的每个值执行不同的功能.例如:

import pandas as pd
import numpy as np

df = pd.read_excel('sales-funnel.xlsx')  #loading xlsx file

table = pd.pivot_table(df, index=['Manager', 'Status'], columns=['Product'], values=['Quantity','Price'],
           aggfunc={'Quantity':len,'Price':[np.sum, np.mean]},fill_value=0)
table

在上面的代码,我传递dictionaryaggfunc和执行len上的操作Quantitymean,sum操作上Price.

这是附加的输出:

在此输入图像描述

该示例取自枢轴表解释.



2> Happy001..:

aggfunc的参数pivot_table需要的功能的功能或列表,但不dict

aggfunc:function,默认numpy.mean或函数列表如果传递的函数列表,生成的数据透视表将具有分层列,其顶层是函数名称(从函数对象本身推断)

所以试试吧

n_page = (pd.pivot_table(Main_DF, 
                         values='SPC_RAW_VALUE',  
                         index=['ALIAS', 'SPC_PRODUCT', 'LABLE', 'RAW_PARAMETER_NAME'], 
                         columns=['LOT_VIRTUAL_LINE'],
                         aggfunc=[len, np.mean, np.std])
          .reset_index()
         )

您可能希望之后重命名分层列.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有