Advertisement
hyor1

Exercise 3. Anomaly

Jan 19th, 2025
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.17 KB | None | 0 0
  1. # Импортируем необходимые библиотеки:
  2. import pandas as pd
  3. import matplotlib.pyplot as plt
  4. import seaborn as sns
  5.  
  6. # Загрузим данные в переменную df:
  7. df = pd.read_csv('https://code.s3.yandex.net/datasets/real_estate_data_n_missing.csv')
  8.  
  9. # Отфильтруем аномально высокое значение высоты потолка:
  10. df = df.query('ceiling_height < 100')
  11.  
  12. # Преобразуем все значения потолка с высотой более 20 метров:
  13. df.loc[df['ceiling_height'] > 20, 'ceiling_height'] /= 10
  14.  
  15. # Выделим данные с низкими потолками (менее 2.6 м) в отдельный датасет:
  16. low_ceiling_height_df = df.query('ceiling_height < 2.6')
  17.  
  18. # Изучим основные статистические показатели ceiling_height в новом срезе данных:
  19. print(low_ceiling_height_df['ceiling_height'].describe())
  20.  
  21. # Построим диаграмму размаха по новому срезу данных:
  22. plt.figure(figsize=(12, 4))
  23. sns.boxplot(data=low_ceiling_height_df, x='ceiling_height')
  24.  
  25. # Добавим оформление графика:
  26. plt.title('Диаграма размаха значений высоты потолка', fontsize=16)
  27. plt.xlabel('Высота потолка', fontsize=14)
  28. plt.ylabel(None)
  29. plt.grid()
  30.  
  31. plt.show()
  32.  
  33. # Изучем долю квартир с высотой потолков 2.4 и менее метров:
  34. low_ceiling_height_amount = df.loc[df['ceiling_height'] <= 2.4, 'ceiling_height'].count()
  35. total_amount = df['ceiling_height'].count()
  36. share = low_ceiling_height_amount / total_amount
  37.  
  38. print(f'Доля квартир с высотой потолков 2.4 м и ниже: {share:.2%}')
  39.  
  40. # Отфильтруем квартиры с потолком 2.4 и менее метров:
  41. df = df.query('ceiling_height < 2.4')
  42.  
  43. # Проверим результат и найдём минимальную высоту потолка:
  44. min_ceiling_height = df['ceiling_height'].min()
  45. print('Минимальная высота потолка:', min_ceiling_height)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement