aggfunc在熊猫的pivot_table

时间:2019-06-15 18:13:38

标签: python pandas dataframe pivot-table

我想使用pivot_table来显示每个单元格中列的任意值。例如,给定这样一个DataFrame

df = pd.DataFrame({'x': ['x1', 'x1', 'x2'],
                   'y': ['a', 'b', 'c']})

y的每个值计算x的值:

df.pivot_table(index='x', values='y', aggfunc=len)
    y
x   
x1  2
x2  1

因此,我想代替[2, 1]['a', 'c']

我尝试了这些方法,但是都产生了错误(notebook):

['b', 'c']

对于每个https://stackoverflow.com/a/38982172/1840471,一种替代方法是使用df.pivot_table(index='x', values='y', aggfunc=sample) df.pivot_table(index='x', values='y', aggfunc=head) df.pivot_table(index='x', values='y', aggfunc=lambda x: x[0]) groupby,在这种情况下,这会产生所需的结果:

agg

但是,我希望使用df.groupby(['x']).y.agg('head') ,因为我的完整用例涉及获取行和列中的值。

1 个答案:

答案 0 :(得分:1)

如何使用first如下:

df.pivot_table(index='x', values='y', aggfunc='first')

Out[67]:
    y
x
x1  a
x2  c