Я создал этот фрейм данных, и мне нужно сгруппировать данные в категории с одинаковым количеством кроватей, городов, бань и отсортировать (убывать) каждый элемент в группе по цене. Во-вторых, мне нужно найти разницу между каждой ценой и ценой, попавшей в одну группу. Например, результат должен быть таким:
1 кровать, 1 ванна, Мадрид, 10
1 кровать, 1 ванна, Мадрид, 8
1 кровать, 1 ванна , Мадрид, 5
1 кровать, 1 ванная, Мадрид, 1
Я должен получить 2, 3, 4 ...
Я пробовал код, который кажется далеко что я ожидаю найти ...
data=[[1,'paris',1,2,'10'],[2,'madrid',2,2,8],[3,'madrid',2,2,11],[4,'paris',1,2,6],[5,'paris',1,2,5],[6,'madrid',2,1,7],[7,'paris',2,1,7],[8,'paris',2,1,7],[9,'madrid',1,4],[10,'paris',2,1,3],[11,'madrid',2,2,7],[12,'paris',2,3,12],[13,'madrid',2,3,7],[14,'madrid',1,1,3],[15,'paris',1,1,3],[16,'madrid',1,1,4],[17,'paris',1,1,5]]
df=pd.DataFrame(data, columns=['id','city','beds','baths','price'])
df
df['gap'] = df.sort_values('price',ascending=False).groupby(['city','beds','baths'])['price'].diff()
print (df)
Большое спасибо заранее.