gpt4 book ai didi

python - Pandas : Group by and count based on specific value

转载 作者:行者123 更新时间:2023-12-02 18:05:10 25 4
gpt4 key购买 nike

我的交货数据框如下所示:

df

Distance
1 10
2 0
3 0
4 3
5 2
6 0

每出现一个0,就表示是在与前一次相同的地点交货的。我想创建一个新列“此地点的交货数量”,如下所示:

df2

Distance Nb_Deliveries
1 10 3
2 0 3
3 0 3
4 3 1
5 2 2
6 0 2

我不知道如何通过考虑最后一个非空(0)值来进行分组和计数。非常感谢您的帮助!

最佳答案

您可以按 cumsum 进行分组非零距离,然后计数

df['Nb_Deliveries'] = df.groupby(df.Distance.ne(0).cumsum()).Distance.transform('count')

结果:

   Distance  Nb_Deliveries
1 10 3
2 0 3
3 0 3
4 3 1
5 2 2
6 0 2

关于python - Pandas : Group by and count based on specific value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73443997/

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