在Pandas中,如何在两个不同的轴上进行两次分组?

时间:2016-03-17 23:37:50

标签: python pandas

这适用于按5年块分组我的数据:

dg = df.groupby((df.index//5)*5).mean()['matches-ratio']
dg.plot()

这适用于按性别(列)分组我的数据:

dg = df.groupby(['gender'])['matches-ratio']
dg.plot()

但我似乎无法通过性别和5年的大块进行分组。我尝试了类似dg = df.groupby(['gender', (df.index//5)*5]).mean()['matches-ratio']的内容,但这会产生奇怪的结果,其中日期按性别(???)和5年组分组,因此x轴标记为"性别, 。日期"链接他们,像这样:

dg = df.groupby(['gender'])['matches-ratio']
dg = dg.groupby((df.index//5)*5).mean()
dg.plot()

给出AttributeError: Cannot access callable attribute 'groupby' of 'SeriesGroupBy' objects, try using the 'apply' method。如何在不同的轴上分组两次? (日期= x轴,'匹配比率' = y轴)

1 个答案:

答案 0 :(得分:4)

您可能希望使用unstack跟踪您的groupby

TIdTCPServer

这将为每个性别创建一个单独的行。