Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.24 KB | None | 0 0
  1. df_desc=pd.DataFrame()
  2. df_desc_no_out=pd.DataFrame()
  3. for cur_tg in tqdm(df.teachers_group.unique()):
  4. if cur_tg=='Математика':
  5. frame_tg=df[df.teachers_group==cur_tg]
  6. fig_subject_stats = plotly.tools.make_subplots(rows=6, cols=1, print_grid=False, subplot_titles=('Без выбросов',
  7. 'Все',
  8. 'Без выбросов. Распределение рабочих часов.',
  9. 'Все. Распределение рабочих часов.',
  10. 'Без выбросов. Распределение кол-ва проверенных работ.',
  11. 'Все. Распределение кол-ва проверенных работ.'
  12. ))
  13.  
  14. for grade in frame_tg.grade.unique():
  15. name=cur_tg+' '+grade
  16. ########
  17. frame=frame_tg[frame_tg.grade==grade]
  18. frame['no_out']=~np.abs((frame.per_hour-frame.per_hour.mean()) < (2*frame.per_hour.std()))
  19. #
  20. df_desc=df_desc.append(pd.Series(frame.per_hour.describe(), name=grade))
  21. df_desc_no_out=df_desc_no_out.append(pd.Series(frame[frame.no_out].per_hour.describe(), name=grade))
  22. ########
  23. trace_no_out = go.Box(y=frame[frame.no_out].per_hour, name=grade+' Без выбросов')
  24. fig_subject_stats.append_trace(trace_no_out, 1, 1)
  25. #
  26. trace = go.Box(y=frame.per_hour, name=grade+' Все')
  27. fig_subject_stats.append_trace(trace, 2, 1)
  28.  
  29. trace_line2 = go.Scatter(x=df_desc_no_out.index+' Без выбросов', y=df_desc_no_out['mean'].values, name='Среднее. Без выбросов.')
  30. fig_subject_stats.append_trace(trace_line2, 1, 1)
  31.  
  32. trace_line = go.Scatter(x=df_desc.index+' Все', y=df_desc['mean'].values, name='Среднее. Все.')
  33. fig_subject_stats.append_trace(trace_line, 2, 1)
  34.  
  35. ########
  36. frame_tg['no_out']=~np.abs((frame_tg.per_hour-frame_tg.per_hour.mean()) < (2*frame_tg.per_hour.std()))
  37. ########
  38. trace_hours_no_out = go.Histogram(x=frame_tg[frame_tg.no_out].count_hours_check.values,
  39. name='Рабочих часов в среднем. Без выбросов.')
  40. fig_subject_stats.append_trace(trace_hours_no_out, 3, 1)
  41. trace_hours_all = go.Histogram(x=frame_tg.count_hours_check.values,
  42. name='Рабочих часов в среднем. Все.')
  43. fig_subject_stats.append_trace(trace_hours_all, 4, 1)
  44. #
  45.  
  46. ########
  47. trace_ph_no_out = go.Histogram(x=frame_tg[frame_tg.no_out].per_hour.values,
  48. name='Проверенно в час. Без выбросов.')
  49. fig_subject_stats.append_trace(trace_ph_no_out, 5, 1)
  50. #
  51. trace_ph_all = go.Histogram(x=frame_tg.per_hour.values,
  52. name='Проверенно в час. Все.')
  53. fig_subject_stats.append_trace(trace_ph_all, 6, 1)
  54. ########
  55.  
  56. fig_subject_stats['layout'].update(title=cur_tg,
  57. height=3000,
  58. xaxis5=dict(range=[0, 50], tickvals=list(range(0, 50))),
  59. xaxis6=dict(range=[0, 50], tickvals=list(range(0, 50))))
  60.  
  61.  
  62.  
  63. if check=='y':
  64. #iplot(fig_subject_stats, filename=path+cur_tg+'.html')
  65. plotly.offline.plot(fig_subject_stats, filename=path+cur_tg+'.html', auto_open=False)
  66. print('Сохранен',path+cur_tg+'.html')
  67. elif check=='n':
  68. iplot(fig_subject_stats,filename=False)
  69. else:
  70. print('y или n только')
  71. raise
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement