如果您考虑 Excel
中的数据透视表,您可以添加额外的列并将总和更改为均值再更改为最小值或最大值。是否可以在 Pandas
的 pivot
中获取多个值?
这是一个工作示例(摘自 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_table
的 aggfunc
关键字参数:
>>> 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)
。)
我是一名优秀的程序员,十分优秀!