我创建了一个包含国家、交易类别和一些度量的数据框架。在
看起来像
Country metric_count channel
0 Country1 123472 c1
1 Country1 159392 c2
2 Country2 14599 c3
3 Country2 17382 c4
我使用命令根据国家和频道编制索引
^{pr2}$这将创建以下数据帧。在
metric_count
Country channel
Country1 category1 12347
category2 159392
category3 14599
category4 17382
Country2 category1 1234
这是我想做的。我想保持这个结构不变,并根据度量计数排序。换句话说,我想显示每个国家的前3个频道,基于指标计数。在
例如,我希望为每个国家显示一个数据框,按度量值的降序排列前3个类别。在
Country2 top category1 12355555
top category2 159393
top category3 16759
我尝试过先排序,然后索引,但是结果数据帧不再基于国家进行分区。如有任何提示,我们将不胜感激。谢谢!在
使用
groupby/apply
分别对每个组进行排序,并只选取前三行:例如
^{pr2}$收益率
经过一些费力的试验,我终于得到了我想要的东西。我概述了我的步骤
Groupby国家
从高层来看,这表明我们希望以不同的方式看待每个国家。现在我们的目标是确定前3个度量计数并报告相应的通道。为此,我们将对结果数据帧应用排序,然后只返回前3个结果。我们可以定义一个只返回前3个结果的sort函数,并在pandas中使用apply函数。这表示panda“我想将这个排序函数应用于我们的每个组,并返回每个组的前3个结果”。
排序并返回前3
相关问题 更多 >
编程相关推荐