先grouopby 分组 然后 对组内进行排名 后赋值到字段中即可
例子
df['new_price'].groupby(df['城市']).rank(ascending=False, method='dense')