- # для детального анализа кофеен отфильтруем и сохраним данные в переменной coffee
- coffee = df.loc[df['category'] == 'кофейня']
- '''Построим сводную таблицу, показывающую статистические характеристики заведений кофеен по каждому административному округу Москвы. В этой сводной таблице мы исключаем значения, признанные выбросами на # этапе предобработки данных.'''
- (
- coffee.query("middle_coffee_cup<=400 and seats<=295").groupby('district')
- .agg({
- 'name': 'count',
- 'middle_coffee_cup': ['mean', 'median', 'min', 'max'],
- 'rating': ['mean', 'median', 'min', 'max'],
- 'seats' : ['mean', 'median', 'min', 'max']
- })
- .sort_values(by=('name', 'count'), ascending=False)
- )
- #метод замены пропусков.
- for t in df['name'].unique():
- df.loc[(df['name'] == t) & (df['middle_coffee_cup'].isna()), 'middle_coffee_cup'] = \
- df.loc[(df['name'] == t), 'middle_coffee_cup'].median()