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

Nik*_*101 0 python pivot-table dataframe keyword-argument pandas

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

df1=df.pivot('Partner','Year','Value')
Run Code Online (Sandbox Code Playgroud)

没有问题,并产生一个表

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
Run Code Online (Sandbox Code Playgroud)

但是创建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)
Run Code Online (Sandbox Code Playgroud)

产生错误;

TypeError: my_pivot() got an unexpected keyword argument 'cols'
Run Code Online (Sandbox Code Playgroud)

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

提前致谢

Ayu*_*ani 8

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

查看pandas pivot table函数的此文档.没有名为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)
Run Code Online (Sandbox Code Playgroud)