gpt4 book ai didi

python - 在 Pandas 中,我如何在两个不同的轴上按两次分组?

转载 作者:太空宇宙 更新时间:2023-11-03 14:12:42 26 4
gpt4 key购买 nike

这适用于按 5 年组 block 对我的数据进行分组:

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

这可以按性别(一列)对我的数据进行分组:

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

但我似乎无法同时按性别和 5 年组 block 进行分组。我试过像 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:无法访问“SeriesGroupBy”对象的可调用属性“groupby”,请尝试使用“apply”方法。如何在不同的轴上分组两次? (日期 = x 轴,'matches-ratio' = y 轴)

最佳答案

你可能想用一个 unstack 跟进你的 groupby

(df.groupby(['gender', (df.index//5)*5])
.mean()['matched-ratio']
.unstack()
.plot())

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

关于python - 在 Pandas 中,我如何在两个不同的轴上按两次分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36073600/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com