gpt4 book ai didi

python - 按 pandas 列对比率进行分组

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:43 24 4
gpt4 key购买 nike

我有一个如下所示的数据集:

    i_id    q_id    week_month
0 1 NaN 27-7
1 2 NaN 27-7
2 3 NaN 27-7
3 4 1.0 27-7
4 5 2.0 27-7

我想基本上按变量 Week_month 进行分组,并获得该组的相应比率 (q_id/i_id_)。就像上面我们会有类似的东西

week_month   rate
27-7 2/5

由于 q_id 只有两个有效 ID,而 i_id 有 5 个。因此速率定义为 q_id/i_id。

我可以轻松地在 sql 中完成此操作,但我不想为此使用 Pandsql。有 Pandas 方式吗?

最佳答案

如果我理解正确的话,你可以使用 applycount ,因为 count 将获取每组每列中非 NA 值的总数。

df.groupby('week_month').apply(lambda x: x.q_id.count()/x.i_id.count())

演示

>>> df.groupby('week_month').apply(lambda x: x.q_id.count()/x.i_id.count())

week_month
27-7 0.4
dtype: float64

除了非 NA/NA 的有效性之外,这当然不会对每个组的实际内容做出任何假设。

关于python - 按 pandas 列对比率进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42615251/

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