Python 逐行函数的变换方法

Python 逐行函数的变换方法,python,pandas,Python,Pandas,如何在此数据框中添加一个额外的列,该列将包含在同一天卖出的人数超过给定行中的人数: 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

如何在此数据框中添加一个额外的列,该列将包含在同一天卖出的人数超过给定行中的人数:

    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()
)

但是我不知道如何从转换内部访问
_行
。谢谢

按“天”分组,grep“售出”列,以及:


明亮的非常感谢。
>>> 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