gpt4 book ai didi

python - 在 Pandas 中分割聚合数据的更好方法?

转载 作者:行者123 更新时间:2023-11-28 22:50:54 24 4
gpt4 key购买 nike

我试图对两列进行分组以获得聚合值,然后测试该值以查看它是大于还是小于阈值。我有什么:

SEGMENT = df.groupby(['Col_1','Col_2'])['Number'].apply(lambda x: '1_5' if sum(x) <6 else '6+'

它很慢。这种方法是否存在根本性错误?谢谢。

编辑:

SEGMENT = df.groupby(['Col_1','Col_2'])['Number'].sum().apply(lambda x: '1_5' if x <6 else '6+'

这使速度提高了 3 倍。

最佳答案

你可以做一个transform并将其用作 bool 掩码:

g = df.groupby(['Col_1','Col_2'])

mask = g["Number"].transform("sum") < 6

df[mask] # with group sum smaller than 6
df[~mask] # with group sum greater or equal 6

您还可以使用 filter :

g.filter(lambda x: x.sum() >= 6)

关于python - 在 Pandas 中分割聚合数据的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22234077/

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