Русский
Русский
English
Статистика
Реклама

Подводя итоги 2020 года

Привет, Хабр! Я люблю считать и собирать данные. 2020 год состоял из 8784 часов, 4874 из которых я смог учесть в собранной мною статистике. Я знаю как потратил 55% всего прошлого года! В этой статье я постараюсь доказать, что учиться в университете совсем не сложно, а также расскажу о своем методе учета времени, и заодно проанализирую собранные за год данные о временных затратах почти на все, чем я занимаюсь. С самого начала учебы в университете на старте каждого семестра я наблюдал вздыхающих студентов: "Ой ряды начались! А теперь страшный теорвер! Диффуры душат. Как же сложно закрыть ТАУ или случайные процессы". И каждый раз мы сдавали экзамены, и каждый раз выдыхали с облегчением, ведь столько времени потратили, такую сложную задачу решили А насколько сложную? А сколько времени? Чем дальше, тем чаще я задавался этими вопросами, ведь субъективные мнения такие субъективные. Мы ведь в техническом вузе учимся, где циферы? С тех пор как я стал хорошо учиться, меня все больше озадачивали суждения других студентов обо мне, мол просто с мозгами повезло. Причем на мой вопрос, сколько времени они ботали на этой неделе я часто слышал: "Ну не знаю, примерно часа два". Недавно я смог совершенно четко самому себе отвечать на этот вопрос, и собрал доказательства в пользу очевидного тезиса: в вопросах учебы дело вовсе не в везении с объемом серого вещества в голове, а в количество потраченного времени.

Около двух лет назад стал пользоваться сервисом clockify.me где мои деньги за рекламу?. В начале прошлого года я стал интересоваться Data Science, а к его концу собрал неплохой датасет, который и хочу проанализировать, одновременно сдобрив его мыслями о жизни, вселенной и всем таком, а также воспоминаниями и главное, попытками выжать из имеющихся данных знания. Ведь в этом и заключается работа дата сайнтиста?

Сразу оговорюсь, что я не претендую на звание программиста или дата сайнтиста, а просто занимаюсь тем, что мне нравится. Также я хотел написать, что хоть и учусь в московском университете, вуз этот так себе, однако сейчас прочитал, что он держится в топ 60 лучших технических вузов России. Но все равно предположу, что мое исследование не распространяется на студентов из топовых вузов.

Ну-с, начнем. В целом весь код банален и не имеет значения, но яжпрограммист я его отчасти приложу. А вот результаты порой нужны для понимания смысла некоторых моих лексических извращений.

Предобработка датасета

Посмотрим на датасет

Код/Результат
import mathimport pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport seaborn as sns%matplotlib inlineimport matplotlib.dates as datesimport matplotlib.dates as mdates                file_name = "CLK 31 12 20.xlsx"sheet =  "Sheet 1"df = pd.read_excel(io=file_name, sheet_name=sheet)print(df)print(df.info())
[2823 rows x 4 columns]<class 'pandas.core.frame.DataFrame'>RangeIndex: 2823 entries, 0 to 2822Data columns (total 4 columns): #   Column              Non-Null Count  Dtype         ---  ------              --------------  -----          0   Project             2823 non-null   object         1   Description         2823 non-null   object         2   Start Date          2823 non-null   datetime64[ns] 3   Duration (decimal)  2823 non-null   float64       dtypes: datetime64[ns](1), float64(1), object(2)

Копнем глубже. В колонках находятся названия общих зада и названия подзадач. Также есть информация о дате начала работы над подзадачей и ее длительности. Структура очень простая. Я отдельно считаю учебу в универе, учебу дома, отдых, больше саморазвития богу саморазвития самообразование и всякие мелочи жизни.

Код/Результат
projects = df.Project.unique()descriptions = df.Description.unique()for project in projects:    print("\n Проект: ", project, "\n Задачи:")    for description in df[df.Project == project].Description.unique():        print("       ", description)
Задача:  Rest  Подзадачи:        Games        Watching anime        Watching films        Kara no Shjo        Doki-Doki! Задача:  Life  Подзадачи:        Sleep        Walks Задача:  Study at home  Подзадачи:        m_3_Other        m_3_ILNT        m_3_C-A DaP S        m_3_Research work        m_3_ET_in_SR        m_3_Course_work        m_3_IPT_in_IMR        m_2_Practice        m_2_English_courses        m_2_AIS_MR        m_2_HaSCS_IMR        m_2_S-LaF_in_CS_IMR        m_2_K_Practice        m_2_Research work        m_2_Course_work        Other        m_2_Other        m_1_GT_MIMR        m_1_OMaT        m_1_Practice        m_1_AB_ACS        Schedule        m_1_SDoAS        m_1_English        m_1_IS_MaR        Master's dissertation        b_8_Math for master's        b_8_DepLoME        b_8_GOSI        b_8_AI        b_8_Research work        b_7_Prak 7        b_8_Basics of designing        b_8_VM        b_8_Electronics Задача:  Development  Подзадачи:        Data Science        Drawing        Guitar        Reading books        SQL for DS        Japanese        Writing        Sport        English        Python        Machine Learning        Handmade        Python finance        Reading articles        Programming Задача:  Studying at the University  Подзадачи:        m_3_ET_in_SR        m_3_English_courses        m_3_IMR_CS_TA        m_3_IPT_in_IMR        m_3_C-A_DaP_S        m_3_ILNT        m_2_English_courses        m_2_S-LaF_in_CS_IMR        m_2_HaSCS_IMR        m_2_K_Practice        m_2_Practice        m_1_AB_ACS        m_1_GT_MIMR        m_1_SDoAS        m_1_English        m_1_IS_MaR        B&R Practice        m_1_OMaT

b - значит бакалавриат, а m - магистратура. Циферки - это номер семестра. Остальное - название предметов или задач. Нижний предел в форме уникальности названий соблюден, а верхний у меня улетает в +бесконечность вместе с бритвой Оккама. нужно большей ассоциаций и зачеркнутого текста. Извиняюсь. Дальше удаляем из датафрейма ряды с данным по хендмейду, писательству и гитаре, потому что я тратил на это слишком уж мало времени. Хнык. Ну да ладно, когда-нибудь я отращу золотые руки, стану вообще писец и на гитаре игрец. Когда-нибудь потом А сейчас подумаем, что мы хотим получить на выходе? Пожалуй, хотелось бы пронаблюдать динамику интеллектуальных похождений объекта исследования, так что будем строить графики зависимости времени работы над задачей от даты. Но, во-первых, записи в один день могут дублироваться, а во-вторых, в них есть куча пропусков, ведь не каждый день я занимаюсь сразу всеми делами. Дубликаты удаляем, пропуски заполняем Nan'ами, поскольку по жанру я должен посчитать всякие средние и отклонения.

Обработка дубликатов

Первое что пришло в голову, вырезать из фрейма массив с датами и временем. Пройтись по массиву дат пузырьком, и при нахождении дубликатов прибавлять их время кнеко первой уникальной дате. При этом индексы дубликатов сохраняются, чтобы потом по ним удалить дубликаты из массивов и датафрейма. В общем, работает и ладно.

def remove_duplicates(df):    date = df["Start Date"].to_numpy()    time = df["Duration (decimal)"].to_numpy()        length = len(date)    remove_list = []    for i in range(length - 1):        for j in range(i + 1, length):            if date[i] == date[j]:                time[i] += time[j]                if not j  in remove_list:                    remove_list.append(j)        df = df.drop(df.index[remove_list])    date = np.delete(date, remove_list)    time = np.delete(time, remove_list)    return df

Теперь просто пройдемся по всем подзадачам в датафрейме. Удалено около 800 дубликатов.

data = pd.DataFrame()for project in projects:    descriptions = df[df.Project == project].Description.unique()    for description in descriptions:        df_temp = df[df.Project == project]        df_temp = df_temp[df_temp.Description == description]        new = remove_duplicates(df_temp)        data = data.append(new, ignore_index=True)            print(data.info())df = data
<class 'pandas.core.frame.DataFrame'>RangeIndex: 2095 entries, 0 to 2094Data columns (total 4 columns): #   Column              Non-Null Count  Dtype         ---  ------              --------------  -----          0   Project             2095 non-null   object         1   Description         2095 non-null   object         2   Start Date          2095 non-null   datetime64[ns] 3   Duration (decimal)  2095 non-null   float64       dtypes: datetime64[ns](1), float64(1), object(2)

На данный момент мы можем обратиться к ячейкам со временем только по названию задачи, названию подзадачи и дате, но этого маловато. Хотелось бы провести некоторые обобщения, например, разбить данные по семестрам, свести вместе все данные по занятиям data science и тд. Для этого создается еще одна колонка, которая заполняется метками для обобщения данных: b7, b8, m1, m2, m3, games, DS и english.

Почти готово. Осталось только дописать метод для заполнения недостающих дат и пару методов для вывода графиков и статистики.

Коды методов
def reindex(data_frame, name='data', start_date='1-1-2019', end_date='12-31-20'):    idx = pd.date_range(start_date, end_date)    dates = pd.Index(pd.to_datetime(data_frame['Start Date'].tolist(), format="%Y%m%d"))        column = data_frame['Duration (decimal)'].tolist()    column = [float(i) for i in column]    series = pd.Series(column, dates)    series.index = pd.DatetimeIndex(series.index)    series = series.reindex(idx, fill_value=0)        data = series.to_frame(name=name)    return data  def plot_kde(data_frame, col_name):    fig = plt.figure(figsize=(14, 7))    ax = fig.add_subplot(111)    sns.distplot(data_frame[col_name], hist=True, ax=ax, bins=20)    fig.savefig('kde.png', dpi=300)# Помимо баров также прорисую линию среднего значения и среднее отклонение.   def plot_bar(data_frame, img_name):    fig = plt.figure(figsize=(20, 10))    ax = fig.add_subplot(111)    data_frame.plot.bar(ax=ax, legend=False)        ax.xaxis.set_major_locator(dates.MonthLocator())    ax.xaxis.set_major_formatter(dates.DateFormatter('\n\n\n%b\n'))    plt.tight_layout()    ax.tick_params(labelsize=20)    ax.set_xlabel("Месяц 2020", fontsize=25)    ax.set_ylabel("Время", fontsize=25)            plt.axhline(y=data_frame.data.mean(), color='r', linestyle='-')    x = list(range(0, data_frame.data.shape[0]))    mean = data_frame.data.mean()    std = data_frame.data.std()    ax.fill_between(x,                    (mean - std) if (mean - std) > 0 else 0,                    mean + std,                    color='silver')    plt.tight_layout()    fig.savefig(img_name, dpi=500)    return ax# Да, я хотел написать это своими руками :)    def stat(data_frame, col_name):    print("Sum: ".ljust(10), "%0.2f" % data_frame[col_name].sum())    print("Mean: ".ljust(10), "%0.2f" % data_frame[col_name].mean())    print("Std: ".ljust(10), "%0.2f" % data_frame[col_name].std())    print("Min: ".ljust(10), data_frame[col_name].min())    print("Max: ".ljust(10), data_frame[col_name].max())    print("Zero: ".ljust(10), (data_frame[col_name] == 0).astype(int).sum())    print("Not zero: ".ljust(10), (data_frame[col_name] != 0).astype(int).sum())

Анализ временных затрат на полезности и бесполезность

Пришло время смотреть на палочки заняться разведочным анализом! Начнем со сна. В этом случае пропуски в данных нужно заполнить не Nan-ами, а средним значением. Причем в некоторых случаях объект исследования действительно не спал сутки, а в некоторых просто забил на сохранение данных. Будем считать, что если встречается один пропуск посреди данных, то сутки были бессонными, а если пропусков сразу несколько, то поля нужно заполнить средним значением.

Код
start_date = '1-1-2020'end_date = '12-31-2020'sleep_data = df.loc[df['Description'].isin(['Sleep'])]sleep_data = reindex(sleep_data,                     start_date=start_date,                     end_date=end_date)sleep_data['data'] = sleep_data['data'].replace({0:np.nan})sleep_arr = sleep_data['data'].to_numpy()for i in range(1, len(sleep_arr - 1)):    if math.isnan(sleep_arr[i]) and not math.isnan(sleep_arr[i - 1]) and not math.isnan(sleep_arr[i + 1]):        sleep_arr[i] = 0        sleep_arr[np.isnan(sleep_arr)] = np.nanmean(sleep_arr)sleep_data['data'] = sleep_arrstat(sleep_data, 'data')plot_bar(sleep_data, 'sleep.png')plot_kde(sleep_data, 'data')

В итоге, за год я проспал 3224 часа. Для полноты картины стоит заметить, что в этом году всего было 8784 часа. Со средним ладно, а вот отклонение слишком большое. Ну и минимум с максимумом в виде 0 и 20 часов выглядят не очень. На добивании 16 суток без сна. Хорошо еще, что на графике не видно, как часто мой режим переворачивается вверх тормашками. Определенно, нужно что-то менять

Можно было бы перевести во временной формат, но и без этого все понятно.Sum:       3224.42Mean:      8.81Std:       3.28Min:       0.0Max:       20.0Zero:      16Not zero:  350

Ну и, следуя канонам жанра, добавлю график плотности распределения. Не будем забывать Гаусса, Колмогорова, Байеса и других великих!

Для остальных задач пропуски заполнять не нужно, просто вызываются готовые методы. Если интересно, кликайте, а анализ данных по учебе дальше.

Чтение книг

Итого 152 часа за год. На самом деле я читал книги 216 часов, но недостающая часть времени записана в DS, потому что читал я Рашку, Николенко и прочих. В целом, в этом году я читал мало, и объясняется это очень просто. Много читать, а точнее слушать книги, я стал в тот момент, когда вдруг заметил, что в универ мне ехать полтора часа в одну сторону, а кубик Рубика уже реально надоел, да и люди косятся. И не потому, что я гениально выучил целых восемь комбинаций, а из-за шума. Так вот в этом году я в университете почти не появлялся (из-за пандемии и уменьшения количества пар), отсюда и низкие показатели. Странно осознавать, как сильно внешние условия могут влиять на жизнь. А еще страннее объяснять знакомым, почему мне выгодно ехать в универ даже на одну пару.

Sum:       152.50Mean:      0.42Std:       0.89Min:       0.0Max:       7.73Zero:      267Not zero:  99
Рисование

Искусство и страх (годна книга, кстати). Ну тут все плохо. Получше, чем за все пять прошлых лет, но недостаточно. Однако, все собранные мною данные можно легко использовать как почву для поиска мотивации. За это время я перешел в digital и освоил несколько интересных инструментов и техник, так что почувствовал неплохой прирост качества, причем стоило этого всего 47 часов. Уф, а если за год я порисую часов эдак 100, или 160. Уф, это ведь всего пол часа в день Но все равно заставить меня взять в руки планшет не для игры в osu, а для рисования очень и очень сложно.

Sum:       46.60Mean:      0.13Std:       0.58Min:       0.0Max:       5.8Zero:      339Not zero:  27
Английский язык

Ух как я жалею, что недостаточно ботал его раньше Опять же мало, но лучше чем раньше. Причем за эти 90 часов я неплохо продвинулся, потому что вместо чтения и заучивания слов я решил пройтись по учебникам и прокачал грамматику, что радует.

Sum:       90.69Mean:      0.25Std:       0.58Min:       0.0Max:       3.13Zero:      282Not zero:  84
Японский язык

Оо, нихонго. Решил я в третий раз штурмовать учебник Струговой и в этот раз бросил его не на пятнадцатой и даже не на пятидесятой страницей, а аж на сто восьмидесятой! Когда садился ботать, задача казалась нереально сложной. Некоторые иероглифы имеют до пяти чтений, да еще и запоминаются ну реально тяжело. А когда вся дневная норма в пять страниц выпадала на грамматику, я вообще хотел заняться вообще чем угодно, только не этим (хоть за курсачи сесть). Но если взглянуть на данные, то потратил-то я всего 50 часов, а проработал много материала и сильно продвинулся. Ватащи ва нихонго во декимасу сукощи декимасу тотему сукощи декимасу Ну ладно, декимасен не умею я, но прирост знаний меня впечатлил. На графике видны два пика мотивации и плато безнадежности. Выводы таковы. Большой ошибкой было выставлять чрезмерные нормы, и попытка жестко придерживаться расписания. Сначала я проходил пять страниц в день без выходных, потом добавил выходные, потом снизил объем до трех страниц, а потом забил, выгорел. Впрочем, ничего нового.

Sum:       52.42Mean:      0.14Std:       0.45Min:       0.0Max:       3.18Zero:      320Not zero:  46
Игры

Да всего-то пара пабов в день, аим потренить.

Впереди большая статья расходов. Но куда деваться. Над этими данными реально стоит подумать, ведь целых 344 часа своей жизни я потратил черт пойми что. Круто конечно бахать в оsu на шестизвездочных картах, но Кстати, взрыв в октябре связан с простой вещью - покупкой нового мощного компа. Сначала я написал здесь, что в общем-то можно и поиграть немного, расслабиться и отдохнуть, но себе-то зачем врать? Больше всего меня успокаивает рисование, а на втором месте крафт бумажных цветов. Игры же меня наоборот выводят из равновесия, так что никакой пользы тут быть не может.. Вот в новеллы поиграть можно, ведь изучать чужое творчество всегда интересно и даже полезно (кстати, пик в апреле это как раз новеллы, ибо сидеть на изоляции без интернетов тяжко). Вообще, над этим графиком можно думать очень долго. Говорить можно что угодно, но реальные данные лучше всего говорят о моих приоритетах. И картина получается невеселая, однако на нее нужно смотреть, потому что иначе можно утонуть в субъективизме.

Sum:       344.03Mean:      0.94Std:       1.62Min:       0.0Max:       12.0Zero:      165Not zero:  201
Data science

А теперь data science. Воспользуюсь размытостью данного понятия и засчитаю сюда вообще все, что связано с работой с данными. Конкретно этим направлением я стал интересоваться примерно в марте, а до этого просто кодил что-то для себя. 208 часов выглядят весьма неплохо, и тут есть над чем подумать. С одной стороны, я до сих пор не чувствую, что реально что-то знаю в этой области, но за это время я изучил немало новых методов, и лучше понял старые. А после курса от Anrew Ng я наконец-то приобрел общее понимание проблемы машинного обучения. Но больше всего меня радует то, что никто меня не заставляет этим заниматься, а я ботаю, потому что мне это реально нравится, и нравится все больше и больше.

Основными чекпоинтами можно выделить Python и машинное обучение в апреле (18 часов), курс Andrew Ng в октябре (32 часа), Глубокое обучение Николенко в ноябре (19 часов).

Sum:       208.30Mean:      0.57Std:       1.04Min:       0.0Max:       6.0Zero:      254Not zero:  112
Просмотр фильмов\сериалов\аниме

Ну сериальчики под чайок это наше все. Можно даже пледик достать на +10 к ламповости. В целом, тут меня ничего не напрягает, и ограничивать себя в просмотре годного кино я не собираюсь. Однако, более полезные занятия точно нужно дотянуть до этих показателей. В апреле опять же самоизоляция и Breaking Bad. А выброс в ноябре связан с пиццей и ночным марафоном по просмотру аниме. И да, по идее, если присмотреться, то ближе к концу года можно найти периодичность, ведь основное время просмотра я стал переносить на выходные.

Sum:       271.24Mean:      0.74Std:       1.25Min:       0.0Max:       9.5Zero:      220Not zero:  146
Прогулки

В какой-то момент я начал затворничать, поэтому стал сохранять эти данные для мотивации в выползании из общаги на набережную. Помнится, рекорд был 95 дней подряд. Ну а последнее время лень матушка душит, а по учебе удаленка, так что вот. Выводы? Да не пойду я на улицу! Нет, я не сыч! Да, сижу у компуктера.

Sum:       192.04Mean:      0.52Std:       0.41Min:       0.0Max:       1.0Zero:      128Not zero:  238

Интересно, смогу ли я продать эти данные маркетологам?

Анализ временных затрат на учебу

Перейдем к главному - данным по учебе. Начну с последнего семестра бакалавриата. Сначала нужно слегка переписать методы вывода. Что значат названия предметов не имеет значения.

Код
def plot_bot(data_frame, start_date, end_date, year, img_name):    descriptions = data_frame.Description.unique()    df = pd.DataFrame(reindex(remove_duplicates(data_frame[data_frame.Description == descriptions[0]]),                              name=descriptions[0],                              start_date=start_date,                              end_date=end_date))    for description in descriptions[1:]:        new = reindex(remove_duplicates(data_frame[data_frame['Description'] == description]),                      name=description,                      start_date=start_date,                       end_date=end_date)        df[description] = new[description].to_numpy()    fig = plt.figure(figsize=(20, 10))    ax = fig.add_subplot(111)    df[descriptions].plot(kind='bar', stacked=True, figsize=(30, 15), ax=ax)        ax.xaxis.set_major_locator(dates.MonthLocator())    ax.xaxis.set_major_formatter(dates.DateFormatter('\n\n\n%b\n'))    ax.tick_params(labelsize=20)    ax.set_xlabel("Месяц " + str(year), fontsize=25)    ax.set_ylabel("Время", fontsize=25)    ax.legend(fontsize=30)    ax.grid(axis='y')        df['Sum'] = df[list(df.columns)].sum(axis=1)    #ax.set_xlim(243, 395) #m1    #ax.set_xlim(45, 181) #m2    #ax.set_xlim(245, 366) #m3    plt.tight_layout()    fig.savefig(img_name, dpi=300)    return ax, df

Картина матплотибом: последний семестр учебы, прокрастинация душит. Вообще, в начале семестра я не так плохо работал, но это потому, что сессия намечалась на апрель. А когда я с ней покончил и остался один на один с дипломом, почему-то решил почти месяц ничего не делать. Как обычно. Причем чем больше задача, тем ближе к дедлайну я буду подбираться в безделии. Когда до сдачи диплома осталось около месяца, я таки взялся за работу, и поработал очень даже неплохо. 212 часов = 116 страниц, или одна страница каждые 1,8 часа. Ладно, по словам и строкам кода считать уже не буду. Ну а вообще, это было очень круто. Почти каждый день я полностью отдавался делу, видел результаты и решал интересную задачу. Правда через пару часов после успешной сдачи я стоял на автобусной остановке и думал над одним вопросом. "И чо?" Помню, с соседом по общаге мы собирались купить пару сигар и с пафосом раскурить их по поводу успешной защиты. Но сигары мы так и не купили, а в тот вечер стояли на балконе и давились дешевым табаком, при этом думая: "И ЧО???" Я долго думал, что дальше, и ничего лучше магистратуры не придумал. Сосед к концу года перебрался в другую страну на хорошую работу, а я остался, и видимо, останусь снова.

Ну а дальше была подготовка к поступлению в магистратуру. 66 часов матана и "Вы зачислены на бла бла бла". Снова посчитаем. Если покрутить формулировки, то получается, что за два года я приобретаю ресурсы, которые стоят 400 тысяч рублей, ведь год обучения стоит 200 тысяч. Переворачиваем схему деньги=ресурсы в ресурсы=деньги и "Маааам, так я работаю, целых 400 000 / 24 = 16 666 рублей в месяц зарабатываю!!!" А ведь еще можно посчитать стипендию! За первые шесть месяцев учебы это 13700. Делим на 66 часов подготовки к поступлению и получаем 208 рублей в час. Очень даже неплохо, ведь на прошлой работе я получал около 236 рублей в час, а долгосрочной пользы от этой работы было чуть меньше чем никакой.

Sum:       390.97Mean:      1.07Std:       2.10Min:       0.0Max:       10.0Zero:      252Not zero:  113DepLoME_sum:  212Math_for_masters:  66b_8_Math_for_masters:     66b_8_DepLoME:              212b_8_GOSI:                 15b_8_AI:                   28b_8_Research work:        25b_8_Basics of designing:  16b_8_VM:                   12b_8_Electronics:          13

Дальше первый семестр магистратуры. Ситуация выглядит получше, ведь работал я стабильнее, хотя ближе к сессии все же есть слабый перегиб. В итоге получается, что чтобы закрыть этот семестр на отлично мне потребовалось 234 часа (практика по B&R не считается). Если пересчитать стипендию, то выходит 96 рублей в час. Негусто, но лишним не будет. Кстати, когда я впервые пересчитывал эти часы, было удивительно, что в итоге нужно было тратить всего 1 час 20 минут в день, чтобы без проблем все сдать. С этого момента я перестал даже думать о нытье по поводу учебы, и совершенно перестал понимать других студентов в этом вопросе.

Sum:       234.95Mean:      0.59Std:       1.40Min:       0.0Max:       12.64Zero:      296Not zero:  99Average per day:  1.22Studying at the university:  62Study at home:  172m_1_GT_MIMR:              34m_1_OMaT:                 13m_1_Practice:             56m_1_AB_ACS:               52m_1_SDoAS:                18m_1_English:              15m_1_IS_MaR:               28

Второй семестр маги. Прокрастинатор возвращается. Идея так распределить время работы явно была плохой, но я справился. А вот нервные клетки все равно не вернуть. Всего на второй семестр ушло 165 часов. Неплохо. Ну и по стипендии. Выходит 152 рубля в час. Сойдет. Кстати забавно, что в университете я провел всего 12 часов. Пандемия, что еще сказать.

Sum:       165.84Mean:      0.45Std:       1.21Min:       0.0Max:       7.97Zero:      301Not zero:  65Average per day:  0.92Studying at the university:  12Study at home:  153m_2_Practice:             29m_2_AIS_MR:               7m_2_HaSCS_IMR:            48m_2_S-LaF_in_CS_IMR:      12m_2_K_Practice:           18m_2_Research work:        40m_2_Course_work:          8

Ну и третий семестр маги. Было потрачено всего 58 часов, а нужно еще часов эдак 120. В общем, январь у меня будет веселым. Люблю наступать на грабли, что поделать.

Sum:       58.60Mean:      0.16Std:       0.58Min:       0.0Max:       4.5Zero:      327Not zero:  39Studying at the university:  15Study at home:  43m_3_Other:                1m_3_ILNT:                 6m_3_C-A DaP S:            0m_3_Research work:        5m_3_ET_in_SR:             24m_3_Course_work:          4

Ну и сведу все вместе. Я думал, что пик самообразования был в августе-сентябре, но и все остальное время работа велась неплохо. Разве что летом полный провал, ну и ближе к новому году тоже.

Study:        787Development:  492Rest:         650

И еще раз сведу все вместе для 2020 года.

                Time, h  Time, %  Time per dayNan                3910     44.5          10.7Sleep              3224     36.7           8.8Games               344      3.9           0.9Study               295      3.4           0.8Watching films      271      3.1           0.7DS                  208      2.4           0.6Walks               192      2.2           0.5Reading books       152      1.7           0.4English              90      1.0           0.2Japanese             52      0.6           0.1Drawing              46      0.5           0.1

Заключение

Главным результатом анализа этих данных для меня стало понимание, насколько же неверно я представляю себе распределение моих временных трат. Хотя, другого ожидать и не стоило. Чем больше я внедряю тотальный учет всего и вся в свою жизнь, тем меньше доверяю своей же голове, а ведь мы хомо вроде бы сапиенсы. Хотя это логично, ведь такие объемы информации невозможно хранить хоть и в миллиардах, но биологических нейронов.

Вторым открытие для меня стало количество времени, которое я потратил на учебу. В первом семестре мне потребовалось 235 часов, чтобы закрыться на отлично и получать в среднем 96 рублей за потраченный на учебу час. Ребят, мне платили за мое же образование! В течение шести месяцев это 1 час 13 минут в день без выходных, или 2 часа в день с выходными. Что в этом сложного? И больше всего этот вопрос я задавал самому себе. Сложного ничего нет, просто мозг по-другому видит ситуацию. А точнее не видит, попробуй ему объясни, зачем тратить энергию на что-то далекое и не обязательно светлое. На второй семестр потребовалось вообще 165 часов с оплатой в 152 рубля за час. Это 55 минут в день без выходных, или 1 час 22 минуты в день с выходными. Опять же ничего сложного в этом нет.

Таким образом, этой статьей я хотел бы доказать пользу учета временных затрат на решаемые Вами задачи. Одно дело субъективные представления, а совсем другое дело числа, с которым не поспоришь. Ну и, поскольку я сам студент, хотелось бы сказать другим студентам, что наши мысли о сложности учебы не обязательно имеют какое-то отношение к реальности, поэтому учитесь и будьте учимы. Со временем мы будем вспоминать эти времена с радостью и слабой тоской, ведь как бы преподаватели не выносили мозги (вспоминаем бритву Хэнлона), в большинстве случаев они все же хотят нас научить, а о важности образования (не корочки), Вы и без меня знаете. Ну а раз статья новогодняя, пожелаю Вам побольше цифр, конечно, если они принесут пользу. С новым годом, Хабр!

P.S.

Ну что, читатель. Если Вы добрались до конца статьи, а может даже открыли пару спойлеров, то я могу со спокойной совестью сохранить посвященное этой работе время под меткой "Писательство". Девять часов получилось. Не думал я, что так сложно формулировать свои мысли. Вот бы еще научиться их доносить... О чем это я, ответы на вопросы:

1) Сколько времени уходит на сбор такой статистики? - Не больше пяти минут в день. Согласитесь, это время можно было потратить намного бесполезнее.

2) Зачем я это делаю и что дальше? - А это хороший вопрос. На самом деле все эти графики появились не из-за того, что год назад я начал интересоваться Data Science. Наоборот, в каком-то смысле я стал интересоваться темой данных еще восемь лет назад, когда открыл блокнот и записал: "Кажется, я чувствую необходимость вести дневник". С тех пор я собрал кучу разных записей, заметок, статистики по временным и денежным затратам и так далее. Например, сейчас у меня имеется 1089 страниц дневниковых записей, которые хотелось бы прогнать через несколько слоев LSTM. Тут должно быть интересно, ведь на 400 тысячах слов уже можно что-то научить. Ну и все остальное можно проанализировать хотя бы ради интереса. Например, в 2020-том я потратил на обновление железа больше половины всех денег, что потратил за год. Может я в итоге покопаюсь во всем этом, а может быть и нет. А вдруг, вдруг эти данные пригодятся для воссоздания моей личности в будущем?! По крайней мере, эти привычки сохранительства приучают меня замечать детали, обдумывать, соотносить и т.п. Хотя, это лишь мое субъективное мнение.

Кстати, кроме удовлетворения собственного интереса такой подход может принести пользу другим людям. Меня всегда очень обнадеживают численные представления объема работы, лучше всего во времени. Хорошим примером может быть чтение книг. Одно дело взять в руки Python и машинное обучение на 420 страниц, а другое дело знать, что у какого-то робототехника на ее изучение ушло 18 часов. Это совсем немного, дерзайте. Аналогичную статистику можно собрать по поводу чего угодно, и кому-то она возможно принесет пользу. Но это потом, всё потом)

P.P.S.

Ну вот я и написал свою первую статью на Хабр. Надеюсь, она была интересной, а может быть даже полезной. В любом случае, жду от Вас любые конструктивные отзывы и мысли. Спасибо за прочтение!

Источник: habr.com
К списку статей
Опубликовано: 04.01.2021 18:18:07
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Python

Визуализация данных

Time management

Учеба

Сбор данных

Анализ данных

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru