在pandas中使用pivot的Dataerror

时间:2016-05-16 17:46:25

标签: python pandas pivot

我使用以下命令将pivot排成一堆行:

df[df.branch=='ALG'].reset_index().pivot_table(index='branch', columns='monyear', values='conceptname')

conceptnamestring列,因此我收到以下错误:

DataError: No numeric types to aggregate

如何让pandas忽略这一点?我真的不想聚合任何东西,我只是想以柱状格式重塑我的数据。

这是我的输入数据:

branch    monyear    conceptname
A          Jul         text1
A          Jul         text2
A          Aug         text3
A          Aug         text4
B          Jul         text5
B          Jul         text6
B          Aug         text7
B          Aug         text8

期望的输出:

branch    Jul    Aug
A        text1  text3
A        text2  text4
B        text5  text7
B        text6  text8

AB可以被视为在不同月份(JulAug)销售内容的不同分支。我想列出这些分支机构在不同月份销售的东西。

任何帮助将不胜感激。 TIA。

1 个答案:

答案 0 :(得分:3)

尝试:

df_ = df.set_index(['branch']).groupby('monyear').apply(lambda x: x.T).T

df_ = df_.xs('conceptname', axis=1, level=1)

print df_

monyear    Aug    Jul
branch               
A        text3  text1
A        text4  text2