Share |

понедельник, 2 января 2017 г.

Stackoverflow как ресурс развития

Отчасти хвастаюсь, отчасти призываю пользоваться.
Существует такой ресурс Stackoverflow (для программистов? айтишников? аналитиков?). Всем, кто пытался ответ на вопросы про R или Python в интернете, обязательно знаком этот ресурс. Большая часть в поисковых запросах про Python точно ведет на этот ресурс.
Логика ресурса простая: любой желающий может задать вопрос по любому языку программирования, а любой желающий может ответить на ваш вопрос. Любой зарегистрированный на ресурсе может поставить лайк как понравившемуся ответу, так и понравившемуся вопросу. Лайки приносят баллы. Т.е. баллы можно заработать и вопросом. Кроме того, вы, как задавший вопрос, можете выбрать лучший ответ.
Но есть и возможность поставить дис лайк - каждый дис лайк снимает баллы.
Есть модераторы, которые следят за тем, чтобы вопросы соответствовали правилам и нормам сообщества (например, в вопросе должен быть обязательно пример кода).
Система очень простая, но весьма эффективна в мотивации развития, если вы вступаете на путь вопросов и ответов.
Я поначалу получил несколько дис лайков за свои тупые вопросы, и знаете, это очень дисциплинирует. Ты начинаешь корректно формулировать вопрос.
И может быть самое ценное, что я из этого вынес: работа с Toy example - игрушечными примерами: создаешь случайный, небольшой набор данных, на котором пытаешься воспроизвести и решить проблему.
Вот пример вопроса, за который я получил три лайка How to combine multiple cells into a single text сell - суть вопроса проста: когда вы создаете сводную таблицу, то можете агрегировать числовые переменные: считать, суммировать, брать среднее и т.п.. Но если у вас есть текст, то что как объединить текстовые ячейки? И этот вопрос имеет непосредственное отношение к HR -тематике.

И самое приятное 

На прошлой неделе ответил на вопрос и получил сразу три лайка. How to add a column to pandas DataFrame based on the result of a condition.
Логика вопроса такая:
есть переменная со статусом человека (?) - "Blocked" или "Cleared";
есть дата какого-то события, есть дата другого события.
Задача простая: создать новую переменную на основе условий: переменная "BlockedAfter" состоит из двух значений - 1 и 0. 1 присваивается, если статус "Blocked" и дата одного события раньше другого события.
В excel это можно решить формулой ЕСЛИ. В Python я написал такой код
df['ReceiptDate'] = pd.to_datetime(df['ReceiptDate'])
df['IncentiveStart'] = pd.to_datetime(df['IncentiveStart'])
df['time'] = df['IncentiveStart'].values.astype('datetime64[D]').astype(int) - df['ReceiptDate'].values.astype('datetime64[D]').astype(int)
df['BlockedAfter'] = 0
df.ix[(df['time'] > 0) & (df['Clear_Decline'] == 'Blocked'), 'BlockedAfter'] = 1
Код можно было проще написать, без переменной "time", но когда ты видишь вопрос, хочешь ответить быстрее других, то уже в детали не вникаешь.

Резюме

Как только вы в освоении R или Python поднялись выше первого класса общеобразовательной школы, регистрируйтесь на этом ресурсе и развивайтесь. Вопросы развивают не меньше, чем сами ответы. Учитесь задавать вопросы. 

Комментариев нет:

Отправить комментарий