Kelevra_Slevin

Function

Nov 20th, 2022 (edited)
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.79 KB | None | 0 0
  1. import pandas as pd
  2. support = pd.read_csv('/datasets/support.csv')
  3. support = support.rename(
  4.     columns={
  5.         'Тип обращения': 'type_message',
  6.         'Время обращения': 'timestamp'
  7.     }
  8. )
  9. support.info()
  10. ###############################
  11. import pandas as pd
  12.  
  13. clients = pd.read_csv('stats_by_age.csv')
  14. ####
  15. def age_group(age):
  16.     """
  17.    Возвращает возрастную группу по значению возраста age, используя правила:
  18.    - 'дети', если age <= 18 лет;
  19.    - 'взрослые', если age от 19 до 64;
  20.    - 'пенсионеры' — от 65 и старше.
  21.    """
  22.    
  23.     if age <= 18:
  24.         return 'дети'
  25.     if age <= 64:
  26.         return 'взрослые'
  27.     return 'пенсионеры'
  28.  
  29. print(age_group(...))
  30. #####
  31. clients['age_group'] = clients['age'].apply(age_group)
  32. print(clients.head(10))
  33. #####
  34. def make_full_name(row):
  35.     """
  36.    Возвращает полное имя (сочетание имени и фамилии)
  37.    """
  38.     full_name = row['first_name'] + ' ' + row['last_name']
  39.     return full_name
  40. clients['full_name'] = clients.apply(make_full_name, axis=1)
  41. print(clients.head(10))
  42. ####
  43. import pandas as pd
  44.  
  45. support_log = pd.read_csv('/datasets/support_log.csv')
  46. support_log_grouped = support_log.groupby('type_id').count()
  47. def alert_group(messages):
  48.     if messages <= 300:
  49.         return 'средний'
  50.     if messages > 500:
  51.         return 'критичный'
  52.     return 'высокий'
  53.  
  54. #print(alert_group(10))
  55. #print(alert_group(450))
  56. #print(alert_group(1000))
  57.  
  58. support_log_grouped['alert_group'] = support_log_grouped['user_id'].apply(alert_group)
  59. #print(support_log_grouped.head(10))
  60. print(support_log_grouped.groupby('alert_group').sum())
  61. ###########################
  62. import pandas as pd
  63. support_log_grouped = pd.read_csv('/datasets/support_log_grouped.csv')
  64.  
  65. def alert_group_importance(row):
  66.     if row['alert_group']=='средний':
  67.         if row['importance']==1:
  68.             return 'обратить внимание'
  69.     if row['alert_group']=='высокий':
  70.         if row['importance']==1:
  71.             return 'высокий риск'
  72.     if row['alert_group']=='критичный':
  73.         if row['importance']==1:
  74.             return 'блокер'
  75.     return'в порядке очереди'# реализуйте логику функции
  76.    
  77. row_values = ['высокий', 1]
  78. row_columns = ['alert_group', 'importance']
  79. row = pd.Series(data=row_values, index=row_columns)
  80. #print(alert_group_importance(row))
  81. support_log_grouped['importance_status'] = support_log_grouped.apply(alert_group_importance, axis=1)
  82. #print(support_log_grouped)
  83. print(support_log_grouped['importance_status'].value_counts())
Advertisement
Add Comment
Please, Sign In to add comment