Advertisement
Korotkodul

Titanic1

Apr 11th, 2025 (edited)
301
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.19 KB | None | 0 0
  1.  
  2. import timeit
  3.  
  4. import numpy as np
  5. import pandas as pd
  6. import seaborn as sns
  7.  
  8. titanic_data = sns.load_dataset("titanic")
  9. print(titanic_data)
  10. print()
  11.  
  12. #Часть 1
  13. print("PART1\n")
  14. zero_cnt = titanic_data.isnull().sum()
  15. print("zero_cnt:\n", zero_cnt)
  16. print()
  17.  
  18. #Часть 2
  19. print("\nPART2\n")
  20. #Удалите все столбцы, количество пропусков в которых превышает половину количества строк в таблице.
  21. half_rows = titanic_data.shape[0] // 2
  22. columns_to_drop = titanic_data.columns[zero_cnt > half_rows]
  23. titanic_cleaned = titanic_data.drop(columns=columns_to_drop)
  24. print('columns_to_drop:', columns_to_drop, "- удаляем эти столбцы")
  25. print()
  26. #NB!Теперь работаем с titanic_cleaned
  27.  
  28. #После того, как вы удалите все столбцы, нарушающие описанное условие, удалите все строки, количество пропусков в которых превышает половину количества столбцов.
  29. row_zero_cnt = titanic_cleaned.isnull().sum(axis = 1)
  30. half_rows = titanic_cleaned.shape[1] // 2
  31. """
  32. print("shape:", titanic_cleaned.shape)
  33. print(type(row_zero_cnt))
  34. print(row_zero_cnt)"""
  35. print("half_rows:",half_rows)
  36. print("Максимальное пропусков в строке:", row_zero_cnt.max())
  37. to_be_left = row_zero_cnt <= half_rows
  38. #print(type(to_be_left))
  39. #(to_be_left)
  40. titanic =  titanic_cleaned[to_be_left]
  41. #print(titanic.shape)
  42. print("Вывод: мы не удалили ни одной строки")
  43. #NB!Теперь работаем с titanic
  44.  
  45. #Часть 3
  46. print("\nPART3\n")
  47. man_mask = (titanic['who'] == 'man')
  48. #print("man_mask\n",male_mask)
  49. man_age_median = titanic.loc[man_mask, 'age'].dropna().median()
  50. print("man_age_median:", man_age_median)
  51. print()
  52. woman_mask = (titanic['who'] == 'woman')
  53. woman_age_median = titanic.loc[woman_mask, 'age'].dropna().median()
  54. print("woman_age_median:", woman_age_median)
  55. print()
  56. child_mask = (titanic['who'] == 'child')
  57. child_age_median = titanic.loc[child_mask, 'age'].dropna().median()
  58. print("child_age_median:", child_age_median)
  59.  
  60.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement