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

Python Take first observation per group Using pandas.pivot_table

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

你可以使用 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

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