Pandas Pivot Tables-意外的关键字'cols'

时间:2015-08-10 10:30:30

标签: python pandas dataframe pivot-table keyword-argument

我正在尝试使用pd.pivot_table创建数据透视表。

df1=df.pivot('Partner','Year','Value')

没有问题,并产生一个表

Year                        2011       2012       2013       2014
Partner                                                            
Albania                   0.000693   0.000663        NaN        NaN
Areas, nes                0.002310   0.014177   0.492017   0.633261 
Armenia                        NaN   0.000145        NaN        NaN
Belgium                   0.390415   0.400312   0.493444   0.643490
Brazil                    0.000231   0.000362   0.000518   0.000234
China                     0.024488   0.000443   0.000085   0.000052
Colombia                  0.425991   0.447333   0.488582   0.538809

然而创建my_pivot;

def my_pivot(rows, values, aggfunc, plt=True):
    dfp = df
    piv = pivot_table(dfp, values=values, rows=rows, cols=cols,     aggfunc=aggfunc)
    print piv
    if plt: 
        plot(piv)
        show()


my_pivot(values = df['Value'], rows=df['Partner'], cols=df['Year'], aggfunc=np.sum,plt=True)

产生错误;

TypeError: my_pivot() got an unexpected keyword argument 'cols'

我不知道为什么这不起作用,有人有什么建议吗?

提前致谢

1 个答案:

答案 0 :(得分:8)

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.pivot_table.html

查看pandas数据透视表功能的此文档。没有名为cols的参数。在旧版本的熊猫中曾经有过“cols”。现在,'rows'被'index'和'cols'替换为'columns'。

试试这个:

def my_pivot(rows, values, aggfunc, plt=True):
    dfp = df
    piv = pivot_table(dfp, values=values, index=rows, columns=cols,     aggfunc=aggfunc)
    print piv
    if plt: 
        plot(piv)
        show()

my_pivot(values = df['Value'], rows=df['Partner'], cols=df['Year'], aggfunc=np.sum,plt=True)