Я создал этот фрейм данных, я сгруппировал каждую квартиру по баням, койкам, названию соседей и использовал метод ранга, чтобы получить ранг квартиры в каждой группе. Теперь я хотел бы создать столбец [id flat n-1] с идентификатором квартиры в n-1.
Например:
для id 1, окрестности a, кроватей 1, ванны 2, цена 6 Я хотел бы получить в моем новом столбце 'id' 2 (rank = 2) или 3 (rank = 2).
data=[
[1,'a',1,2,6],[2,'a',1,2,4],[3,'a',1,2,4],
[4,'a',1,2,3],[5,'a',1,2,1.5],[6,'b',2,1,6],
[7,'b',2,1,3.5],[8,'b',2,1,3.5],[9,'b',2,1,2],
[10,'b',2,1,1],[11,'c',2,2,10]
]
df=pd.DataFrame(data, columns=['id','neighborhoodname','beds','baths','price'])
df["rank"] = df.groupby(['neighborhoodname','beds','baths'])['price'].rank("dense", ascending=False)
fake_df2