gpt4 book ai didi

python - 按 3 列分组,每组只保留最小的 5 列

转载 作者:太空宇宙 更新时间:2023-11-04 04:00:22 24 4
gpt4 key购买 nike

首先,抱歉我不是英语母语,但我希望你能理解我的问题;-)

我有一份 list ,其中包含与我合作的有线网络提供商的数据。

我已将这些信息按

分组
traffic.groupby(["HUB","FIBER_NODES","WEEK"])

这很好用,我正在获取每个 HUB-NODES-WEEK 组的所有信息。但现在我想检查交通发展。为此,我想获得此数据框中前 5 周和后 5 周的平均值之间的差异。

为此,我不想将日历周保持在 1 到 38 之间。我只想保持 1 到 5 或 34 到 38。

我试过:

traffic.groupby(["HUB","FIBER_NODES","WEEK"]).nlargest(5)

错误:AttributeError:无法访问“DataFrameGroupBy”对象的可调用属性“nlargest”,尝试使用“apply”方法

下次尝试:

traffic.groupby(["HUB","FIBER_NODES","WEEK"]).apply(lambda grp: grp.nlargest(5,"WEEK"))

这没有用,我仍然得到从 1 到 38 的所有星期。

有人知道我接下来可以尝试什么吗? ;-)

非常感谢

马可

最佳答案

我认为评论中的@jon-clements 的想法是正确的。问题是您在 groupby 中包含了 "WEEK"。删除它对我有用(在不同的数据上):

traffic.groupby(["HUB","FIBER_NODES"]).apply(lambda grp: grp.nlargest(5,"WEEK"))

(我也希望 nlargest 可以工作,但显然它还没有为 DataFrame groupbys 实现。:-/)

关于python - 按 3 列分组,每组只保留最小的 5 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58462811/

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