使用 Python 进行分组

Stuquan

我有一个数据集,我试图按一些常见值进行分组,然后总结一些其他值。棘手的部分是我想添加某种保持最大数字的权重,我将在下面尝试详细说明:

我创建了一个虚拟数据框,它与我的数据线一致,仅用于示例目的:

df = pd.DataFrame({'Family': ['Contactors', 'Contactors', 'Contactors'], 
                   'Cell': ['EP&C', 'EXR', 'C&S'],
                    'Visits': ['25620', '626', '40']})

这会产生一个像这样的表:

在此处输入图像描述

所以,在这个例子中,我希望所有的“接触者”都按 EP&C 进行分组(因为这具有最高的访问量),但我希望将所有访问量加起来,并删除其他“单元格”值,所以我会留下这样的东西:

在此处输入图像描述

有人可以建议吗?

谢谢。

莫兹韦

IIUC,您可以使用:

(df
 # convert to numeric
 .assign(Visits=pd.to_numeric(df['Visits']))
 # ensure the top row per group is the highest visits
 .sort_values(by=['Family', 'Visits'], ascending=False)
 # for groups per Family
 .groupby('Family', sort=False, as_index=False)
 # aggregate per group: Cell (first row, i.e top) and Visits (sum of rows)
 .agg({'Cell': 'first', 'Visits': sum})
)

输出:

       Family  Cell  Visits
0  Contactors  EP&C   26286

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章