Python使用pandas.pivot_table每组进行第一次观察

Zho*_*ang 6 python pivot-table pandas

如何使用pandas.pivot_table在aggfunc = []中指定一个函数,以便像运行groupby()。first()的结果一样获得每个组的第一个观察值?

And*_*den 6

您可以使用aggfunc ='first':

In [11]: df = pd.DataFrame([[1, 2, "A"], [1, 4, "A"], [5, 6, "B"]])

In [12]: df
Out[12]:
   0  1  2
0  1  2  A
1  1  4  A
2  5  6  B

In [13]: df.pivot_table(index=0, values=1, columns=2)  # default aggfunc is 'mean'
Out[13]:
2   A   B
0
1   3 NaN
5 NaN   6

In [14]: df.pivot_table(index=0, values=1, columns=2, aggfunc='first')
Out[14]:
2   A   B
0
1   2 NaN
5 NaN   6
Run Code Online (Sandbox Code Playgroud)

我不确定文档中是否有针对aggfunctions的这些字符串的完整列表(它们也适用于groupbys),我来看一下...