如何在熊猫中计算分区

时间:2019-09-10 16:18:59

标签: python pandas window-functions

下面的窗口函数相当于什么熊猫

COUNT(order_id) OVER(PARTITION BY city)

enter image description here

我可以获取行号或排名

df['row_num'] = df.groupby('city').cumcount() + 1

但是我正在寻找COUNT分区(如示例中所示)

1 个答案:

答案 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