下面的窗口函数相当于什么熊猫
COUNT(order_id) OVER(PARTITION BY city)
我可以获取行号或排名
df['row_num'] = df.groupby('city').cumcount() + 1
但是我正在寻找COUNT分区(如示例中所示)
答案 0 :(得分:1)
试试这个:
df['total_orders']=df.groupby('city')['order_id'].transform('count')
groupby 之后的“转换”是一个调用函数,在每个组上生成一个类似索引的 DataFrame,并返回一个 DataFrame,其索引与填充了转换值的原始对象相同。
在这种情况下,您指示在每个“城市”中使用“count(order_if)”聚合。
详情请见:
https://pandas.pydata.org/pandas-docs/stable/user_guide/groupby.html#transformation