python - Pandas 中的多个 AggFun

标签 python pandas

如果您考虑 Excel 中的数据透视表,您可以添加额外的列并将总和更改为均值再更改为最小值或最大值。是否可以在 Pandaspivot 中获取多个值?

这是一个工作示例(摘自 pandas 文档):

import pandas as pd
import numpy as np
df = pd.DataFrame({'A' : ['one', 'one', 'two', 'three'] * 6,
....:              'B' : ['A', 'B', 'C'] * 8,
....:              'C' : ['foo', 'foo', 'foo', 'bar', 'bar', 'bar'] * 4,
....:              'D' : np.random.randn(24),
....:              'E' : np.random.randn(24),
....:              'F' : np.random.randn(24)})

这是一个枢轴示例:

pd.pivot_table(df, values=['D', 'E'], rows=['B'], aggfunc=np.mean)

返回:

    D           E
B       
A   -0.083449   -0.242955
B    0.826492   -0.058596
C    0.124266   -0.197583

有什么方法可以将 np.sum 带到此处的 pivot 示例?

最佳答案

您可以将列表传递给 pivot_tableaggfunc 关键字参数:

>>> pd.pivot_table(df, values=['D', 'E'], rows=['B'], aggfunc=[np.mean, np.sum])
       mean                 sum          
          D         E         D         E
B                                        
A -0.102403  0.854174 -0.819224  6.833389
B  0.426928 -0.177344  3.415428 -1.418754
C -0.159123 -0.071418 -1.272980 -0.571341

[3 rows x 4 columns]

(PS:您也可以使用方法版本,即 df.pivot_table(stuff)。)

关于python - Pandas 中的多个 AggFun,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20485139/

相关文章:

python - 如何使用字典和 isin()?

python - 值错误 : invalid literal for long() with base 10: '5B'

python-3.x - 无法使用这些索引器对 <class 'pandas.core.indexes.period.PeriodIndex' > 进行切片索引

python - 将行中的值分组在一起并为其分配一个整数值

javascript - 对线程对话进行排序

python - 如何从具有动态列的数据框中获取值

mysql - 为什么我从表中获取时间戳格式后会发生变化?

python - 匹配两个二维数组的行并使用 numpy 获取行索引映射

python - 在python中将列表转换为字典

python - matplotlib:figimage 未显示在 Jupyter 笔记本中