Программы для электронных таблиц, такие как Microsoft Excel и Google Sheets, превосходны. Они вне конкуренции, когда дело касается выполнения простых вычислений или построения финансовых моделей.
Однако наступает момент, когда вы должны отказаться от электронных таблиц и найти другое решение. Вы не представляете, сколько разных отвратительных отчетов по электронным таблицам попадалось мне в свое время! Как только вы начинаете использовать таблицу в качестве отчета, базы данных и инструмента для их преобразования, это сигнал — надо остановиться! Вы зашли слишком далеко. Такие электронные таблицы не что иное, как страшный сон для обслуживания и отладки.
А есть ли альтернатива? Конечно — научиться писать код для анализа данных. Нет никаких причин бояться кода. Если вы уже в курсе, как использовать программу для таблицы, то не составит труда провести аналогии и понять суть этого процесса. Я уже курировал нескольких аналитиков на начальных этапах их разработок и убедился, что подход из этой статьи работает стабильно. Начнем!
Предварительное условие — изучить электронные таблицы для анализа данных
Если вы еще не знаете, как использовать программу для электронных таблиц, то это надо исправить. Именно на данном этапе вы познакомитесь с понятиями, связанными с данными, и безболезненно вольетесь в процесс написания кода.
Старт с нулевым опытом
Если у вас нулевой опыт в этой области, то советую пройти бесплатный курс по электронным таблицам в YouTube. Учитывая их разнообразие, просто выберите один и посмотрите полностью.
Старт с позиций опыта
Если у вас есть какой-либо опыт, тогда нужно практиковаться до тех пор, пока не обретете уверенность в работе с электронными таблицами. В интернете доступно множество наборов данных с открытым исходным кодом. Придумайте 5 действий с данными и выполните их, используя эти наборы. Примеры возможных действий:
“Какое среднее значение в столбце X?”
“Сколько пустых клеток/содержат пропущенные значения в столбце X?”
“Отсортируйте информацию в столбце X в порядке убывания”.
“Создайте линейную диаграмму столбца X”.
“Какое значение столбца X для каждого значения в столбце Y?”
Изучаемые понятия
Независимо от имеющегося опыта, ваши приключения в стране электронных таблиц будут сопровождаться важными понятиями, относящимися к процессу написания кода для данных.
- Формулы могут применяться к отдельным ячейкам или к группе ячеек. Это подобно понятию “векторизации”, когда мы применяем операции ко всем массивам данных.
- Данные могут обобщаться в процессе агрегирования. Сводные таблицы научат нас, что значит подсчитывать или суммировать столбцы по группам, определенным в других столбцах.
- Визуализации — мощный инструмент. Сводные диаграммы позволяют вам понять, какие типы диаграмм представляют какие типы данных.
- Два набора данных могут быть “объединены”. Это мы узнаем, используя силу формул, таких как ‘VLOOKUP’ (функция ВПР).
Как только вы “набили руку” в работе с программами для электронных таблиц, значит пришла пора переместиться в страну кода.
От электронной таблицы к коду
Выбираем язык программирования
Пользователи Microsoft Office могут подумать:
“Я активно пользуюсь Excel, к тому же слышал про ‘VBA’. Говорят, его код можно использовать для автоматизированных отчетов Excel.
Ни в коем случае! Забудьте про VBA. Поверьте на слово тому, кто когда-то написал на нем тонны строк кода. Лучше освоить “передаваемый навык”, т.е. навык, которым вы сможете заинтересовать следующего работодателя, независимо от того, пользовался ли он Microsoft Office или нет.
Учитывая, что у вас нет опыта программирования, предлагаю сосредоточиться на SQL и R.
Для изучения SQL не надо большого ума. Это широко распространенный язык реляционной базы данных. Вот его вы и должны выучить.
А почему R? Почему не Python? Потому что он разработан для анализа данных! Так как этот язык проектировался с определенной целью, он позволяет больше времени уделять именно анализу данных, а не борьбе с абстрактными аспектами языков программирования. Например, R поставляется со встроенными наборами данных, которые сразу можно анализировать. CSV-файлы могут быть импортированы в одной строке при помощи ‘read.csv()’. Вы можете создавать (неприглядные) гистограммы, используя ‘hist()’, а также диаграммы рассеяния и многое другое при помощи ‘plot()’. Дело в том, что все эти встроенные возможности R позволяют приступить к анализу данных сразу же после его установки.
Хочу, чтобы вы меня правильно поняли. Я не утверждаю, что вы не должны учитьPython. Сам я его обожаю и когда-то сделал выбор в его пользу. И вам обязательно надо его выучить, только не сейчас. Я руководствуюсь тем, что, освоив сначала R, вы сразу же получите успешный опыт работы с кодом. А эти маленькие достижения будут поддерживать в вас решимость, мои “юные падаваны”, овладеть светлой стороной силы под названием написание кода для данных.
По этим языкам так много информации! На каких аспектах сосредоточиться?
Пойдем на поводу нашего прагматизма и сосредоточимся на изучении тех аспектов, которые пригодятся в работе аналитика. А чтобы их обозначить, будем следовать простой логике:
1. Составьте список всех отчетов на основе электронных таблиц, которые вы регулярно обновляете. Добавьте к нему специальные фрагменты анализа, выполненного на основе таблиц за последние полгода.
2. Отдохните 5 минут после такой утомительной работы!
3. Откройте одну из таблиц в вашем списке.
4. Установите таймер на 10 минут.
5. Во втором списке сначала отметьте формулы, которые вы использовали в отчете, затем созданные вами визуализации, а также числа, полученные на основе сводных таблиц. Мыслите как можно шире! Не нужно конкретизировать, как вы выполняли ‘VLOOKUP’, используя точные соответствия в столбце B и возвращая значения в столбец F. Просто отметьте факт выполнения этой функции. Рядом с каждой формулой напишите, сколько раз она встречалась в таблицах. Продолжайте работу до истечения установленного времени или переходите к следующей таблице, если 10 минут истекли.
6.Возьмите пятиминутный перерыв и переходите к следующей таблице в списке.
Анализируйте таким способом все таблицы в списке до тех пор, пока не закончите подсчеты. Отсортируйте ваш список в порядке убывания в зависимости от того количества раз, которое каждая формула/визуализация/значение сводной таблицы появлялись в отчетах и анализах. Этот порядок обозначит главные направления, которыми вы будете руководствоваться при организации своего дальнейшего обучения!
Как же организовать обучение?
Давайте разделим процесс обучения на два двадцатиминутных занятия (две “помидорки” согласно терминологии практикующих метод “помидора”). Закончите эти два занятия перед работой! Ведь все мы устаем после тяжелого рабочего дня. Если постоянно переносить занятия на более позднее время в течение дня, то вероятность их выполнения будет стремиться к нулю.
Первые 25 минут мы сосредотачиваемся на изучении R:
- Обратите внимание на первый объект в списке и изучите, как его реализовать в R. Сначала научитесь делать это при помощи дружественного нам пакета dplyr. Если не получилось, расширьте поиски и найдите способ реализовать этот объект, используя R в целом.
- Если у вас есть наборы данных с работы, которые можно использовать, то смелее — сделайте это. В противном случае обратитесь к встроенным наборам данных R или наборам данных с открытым исходным кодом в интернете.
- По истечении 25 минут спросите себя, можете ли вы свободно применять этот навык. Если ответ положительный, зачеркните первый пункт в списке, а завтра переходите к следующему. Если вы испытывали трудности в процессе, то дальнейшее освоение навыка можно отложить на завтра.
Следующие 25 минут посвятим изучению SQL:
- Пройдите бесплатный курс SQLZOO.
- Окончив курс, импортируйте данные в онлайн среду SQL и продолжайте работу по агрегированию и объединению ваших таблиц. Ни в коем случае не загружайте туда данные, связанные с работой.
- Как только вы научились свободно агрегировать и объединять таблицы, приступайте к освоению оконных функций.
- А добившись свободного владения и этим навыком, вы можете прекратить изучение SQL и заменить 25 минутное занятие по SQL на R.
Достигнув свободного владения R и SQL, подумайте, как вы можете применить эти знания в своей работе. Чувствуете мощь той силы, которую вы обрели над данными, научившись писать код?
Работа со списком закончена! Что дальше?
Продолжайте обучение и овладевайте новыми навыками! Развивайтесь! Жизнь не ограничивается лишь выталкиванием списков данных и выполнением отчетов!
Откройте для себя более удивительные знания. Например, прочитайте книгу “Язык R в задачах науки о данных” Гаррета Гролемунда и Хадли Уикмена, легенды R. Узнайте, что такое Kaggle. Подпишитесь на R-bloggers и учитесь у своих коллег-пользователей R.
Изучайте R ежедневно на протяжении 6 месяцев. По мере освоения R переходите к изучению Python. Знание двух языков программирования станет хорошей стартовой площадкой для погружения в него.
Заключение
Нет лучшей награды для преподавателя, чем видеть, как его ученики прошли путь развития от аналитиков, работающих с данными электронных таблиц, до аналитиков с навыком написания кода. К сожалению, я не могу лично сопровождать вас в процессе вашей профессиональной трансформации! Но надеюсь, что материал статьи вдохновит вас на повышение уровня своих навыков, и вы станете более мощным аналитиком данных.
У вас всё получится!
Читайте также:
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Justin: Learn to code for data: a pragmatist’s guide