TypeError:pivot_table()为关键字参数“值”获得了多个值


问题内容

我正在使用Python2.7。我正在学习熊猫,并且正在实现pivot_table。在实现数据透视表文档中给出的示例时:

    raw_data = {'A':['foo','foo','foo','foo','foo','bar','bar','bar','bar'],
        'B':['one','one','one','two','two','one','one','two','two'],
        'C':['small','large','large','small','small','large','small','small','large'],
        'D':[1,2,2,3,3,4,5,6,7]}
    df = pd.DataFrame(raw_data)
    df.pivot_table(df,index = ['A','B'], values = 'D',columns = 'C', aggfunc = 'sum')

运行时,出现以下错误:TypeError:pivot_table()为关键字参数“值”获得了多个值

谁能说出这是为什么呢?


问题答案:

您需要删除df

              #here      
df.pivot_table(df,index = ['A','B'], values = 'D',columns = 'C', aggfunc = 'sum')

a = df.pivot_table(index = ['A','B'], values = 'D',columns = 'C', aggfunc = 'sum')
print (a)
C        large  small
A   B                
bar one    4.0    5.0
    two    7.0    6.0
foo one    4.0    1.0
    two    NaN    6.0