Предположим, у меня есть это (randomi c) df_bnb
:
neighbourhood room_type price minimum_nights
0 Allen Pvt room 38 5
1 Arder Entire home/apt 90 2
2 Arrochar Entire home/apt 90 2
3 Belmont Shared Room 15 1
4 City Island Entire home/apt 100 3
Каждая строка представляет собой бронирование Airbnb.
Я надеюсь сгенерировать pivot_table
, в котором Index
- это столбец neighbourhood
, а столбцы - это другие столбцы фрейма данных ['room_type', 'price', 'minimun_nights']
.
Я хочу, чтобы записи вышеупомянутых столбцов были mean
, ожидайте, что room_type
, где I wi sh будет иметь mode
. Как пример следующего кадра данных:
room_type price minimum_nights
Allen room type mode for Allen price mean for Allen mean min nights for Allen
Arder room type mode for Arder price mean for Arder mean min nights for Arder
Arrochar room type mode for Arrochar price mean for Arrochar mean of min nights for Arrochar
Belmont room type mode for Belmont price mean for Belmont mean of min nights for Belmont
City Island room type mode for City Island price mean fot City Is. mean of min nights for City Island
Это код, который я пробую до сих пор:
bnb_pivot = pd.pivot_table(bnb,
index = ['neighborhood'],
values = ['room_type', 'price',
'minimum_nights','number_of_reviews'],
aggfunc = {'room_type': statistics.mode,
'price' : np.mean,
'minimum_nights': np.mean,
'number_of_reviews': np.mean})
Это ошибка, которую я получаю:
StatisticsError: no unique mode; found 2 equally common values
Я пытаюсь найти другие источники, но не понимаю, как обработать statistic.mode()
при создании pivot_table
.
Заранее большое спасибо за полезные указания!