我正在尝试使用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'
我不知道为什么这不起作用,有人有什么建议吗?
提前致谢
答案 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)