gpt4 book ai didi

python - 逐行函数转换方法

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

我如何向这个数据框添加一个额外的列,其中包含当天销量超过给定行中的人数的人数:

    day     name    sold
0 mon Ben 2
1 mon Amy 6
2 mon Sue 7
3 mon John 9
4 tues Ben 9
5 tues Amy 4
6 tues Sue 10
7 tues John 5
8 wed Ben 8
9 wed Amy 3
10 wed Sue 10
11 wed John 3

结果是这样的:

    day     name    sold  num_who_sold_more
0 mon Ben 2 3
1 mon Amy 6 2
2 mon Sue 7 1
3 mon John 9 0
4 tues Ben 9 1
5 tues Amy 4 3
6 tues Sue 10 0
7 tues John 5 2
8 wed Ben 8 1
9 wed Amy 3 2
10 wed Sue 10 0
11 wed John 3 2

看起来像这样:

df["num_who_sold_more"] = df.groupby(["day", "place"])["sold"].transform(
lambda x: x[x > the_row].count()
)

但我不确定如何从转换内部访问 the_row。谢谢!

最佳答案

按“天”分组,grep“已售出”列和 .rank :

>>> df.groupby('day')['sold'].rank(ascending=False).astype('int') - 1
0 3
1 2
2 1
3 0
4 1
5 3
6 0
7 2
8 1
9 2
10 0
11 2
dtype: int64

关于python - 逐行函数转换方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30813786/

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