Изучите основы Python, чтобы вывести визуализацию данных на новый уровень.
Делиться

Это четвёртая статья из моей серии, посвящённой визуализации данных. См. также:
- Часть 1: «Визуализация данных: что это такое и почему это важно»
- Часть 2: «Визуализация данных: введение в визуальные переменные».
- Часть 3: «Визуализация данных: роль цвета».
До этого момента в своей серии статей о визуализации данных я рассматривал основополагающие элементы проектирования визуализаций. Эти принципы крайне важно понимать перед началом проектирования и создания визуализаций, поскольку они гарантируют, что исходные данные будут представлены в полной мере. Если вы ещё этого не сделали, настоятельно рекомендую вам прочитать мои предыдущие статьи (ссылки на которые приведены выше).
На этом этапе вы готовы приступить к созданию собственных визуализаций. В будущих статьях я расскажу о различных способах создания визуализаций, и, в духе науки о данных, многие из этих методов потребуют программирования. Чтобы вы были готовы к следующему шагу, эта статья будет состоять из краткого обзора основ Python и обсуждения их значимости для создания визуализаций данных.
Основы — выражения, переменные, функции
Выражения, переменные и функции — основные строительные блоки любого кода Python, как и любого другого языка программирования. Давайте рассмотрим, как они работают.
Выражения
Выражение — это оператор, результатом которого является некоторое значение. Простейшее возможное выражение — это константа любого типа. Например, ниже приведены три простых выражения: первое — целое число, второе — строка, а третье — число с плавающей точкой.
7 '7' 7.0
Более сложные выражения часто состоят из математических операций. Мы можем складывать, вычитать, умножать и делить различные числа:
3 + 7 820 — 300 7 * 53 121 / 11 6 + 13 — 3 * 4
По определению, эти выражения преобразуются Python в одно значение, следуя математическому порядку операций, обозначенному аббревиатурой PEMDAS (скобки, возведение в степень, умножение, деление, сложение, вычитание) [1]. Например, последнее выражение выше возвращает число 7,0. (Понимаете, почему?)
Переменные
Выражения — это здорово, но сами по себе они не очень полезны. При программировании обычно требуется сохранять значения определённых выражений, чтобы использовать их в дальнейшем. Переменная — это контейнер, который хранит значение выражения и позволяет получить к нему доступ позже. Вот те же выражения, что и в первом примере выше, но на этот раз их значения сохранены в различных переменных:
int_seven = 7 text_seven = '7' float_seven = 7.0
Переменные в Python имеют несколько важных свойств:
- Имя переменной (слово слева от знака равенства) должно состоять из одного слова и не может начинаться с цифры. Если в имени переменной нужно указать несколько слов, принято разделять их символами подчёркивания (как в примерах выше).
- При работе с переменными в Python вам не обязательно указывать тип данных, как вы, возможно, привыкли делать, если у вас есть опыт программирования на другом языке. Это связано с тем, что Python — язык с динамической типизацией.
- В некоторых других языках программирования существует различие между объявлением и присвоением переменной. В Python мы просто присваиваем переменные в той же строке, где их объявляем, поэтому в этом различии нет необходимости.
При объявлении переменных Python всегда вычисляет выражение справа от знака равенства, возвращая ему единственное значение, прежде чем присвоить его переменной. (Это связано с тем, как Python вычисляет сложные выражения.) Вот пример:
еще_семь = (2 * 2) + (9 / 3)
Переменной выше присвоено значение 7,0, а не составное выражение (2 * 2) + (9 / 3).
Функции
Функцию можно представить как своего рода машину. Она принимает что-то (или несколько объектов), выполняет код, преобразующий переданные объекты, и возвращает ровно одно значение. В Python функции используются по двум основным причинам:
- Для манипулирования входными переменными, представляющими интерес, и получения выходных данных, нам необходимо (подобно математическим функциям).
- Чтобы избежать повторения кода. Поместив код в функцию, мы можем просто вызывать её всякий раз, когда нам нужно выполнить этот код (вместо того, чтобы писать один и тот же код снова и снова).
Проще всего понять, как определяются функции в Python, на примере. Ниже мы написали простую функцию, которая удваивает значение числа:
def double(num): doubled_value = num * 2 return doubled_value print(double(2)) # выводит 4 print(double(4)) # выводит 8
В приведенном выше примере есть несколько важных моментов, которые вам следует понять:
- Ключевое слово def сообщает Python, что вы хотите определить функцию. Слово, следующее за def, — это имя функции, поэтому функция выше называется double.
- После имени идут скобки, в которые указываются параметры функции (замысловатый термин, означающий входные данные функции). Важно: даже если вашей функции не нужны параметры, скобки всё равно нужно использовать — просто не добавляйте в них ничего.
- В конце оператора def обязательно должно стоять двоеточие, иначе Python не будет удовлетворен (т.е. выдаст ошибку). Вся строка вместе с оператором def называется сигнатурой функции .
- Все строки после оператора def содержат код, образующий функцию, с отступом на один уровень внутрь. Вместе эти строки составляют тело функции .
- Последняя строка функции выше — это оператор return , который определяет результат работы функции с помощью ключевого слова return. Оператор return не обязательно должен быть последней строкой функции, но после его обнаружения Python завершит выполнение функции, и дальнейшие строки кода выполняться не будут. Более сложные функции могут иметь несколько операторов return.
- Функция вызывается путём написания её имени и помещения необходимых входных данных в скобки. Если функция вызывается без входных данных, скобки всё равно необходимо добавить.
Python и визуализация данных
Итак, позвольте мне ответить на вопрос, который вы, возможно, задаётесь: зачем вообще этот обзор Python? В конце концов, существует множество способов визуализации данных, и они, конечно же, не ограничиваются знанием Python или даже программированием в целом.
Это верно, но вам, как специалисту по анализу данных, в какой-то момент, вероятно, придётся программировать, и в программировании вы, скорее всего, будете использовать Python. Когда инженеры по анализу данных вашей команды только что передали вам конвейер очистки и анализа данных, полезно знать, как быстро и эффективно превратить его в набор применимых на практике и наглядных визуальных идей.
Вообще говоря, знание Python важно для визуализации данных по нескольким причинам:
- Это доступный язык. Если вы только начинаете заниматься наукой о данных и визуализацией, вам будет гораздо проще программировать визуализацию на Python, чем работать с более низкоуровневыми инструментами, такими как D3, на JavaScript.
- В Python существует множество различных популярных библиотек, каждая из которых позволяет визуализировать данные с помощью кода, основанного непосредственно на изученных нами основах Python. В качестве примеров можно привести Matplotlib, Seaborn, Plotly и Vega-Altair (ранее известный просто как Altair). Я рассмотрю некоторые из них, особенно Altair, в будущих статьях.
- Более того, все вышеперечисленные библиотеки легко интегрируются с pandas, основополагающей библиотекой для анализа данных в Python. Данные из pandas можно напрямую включать в логику кода этих библиотек для создания визуализаций; зачастую вам даже не потребуется экспортировать или преобразовывать их перед началом визуализации.
- Основные принципы, обсуждаемые в этой статье, могут показаться элементарными, но они во многом способствуют визуализации данных:
- Правильное вычисление выражений и понимание выражений, написанных другими, имеет решающее значение для обеспечения точного визуализации данных.
- Вам часто потребуется сохранять определенные значения или наборы значений для последующего включения в визуализацию — для этого вам понадобятся переменные.
- Иногда вы даже можете сохранять целые визуализации в переменной для последующего использования или отображения.
- Более продвинутые библиотеки, такие как Plotly и Altair, позволяют вызывать встроенные (а иногда даже определяемые пользователем) функции для настройки визуализации.
- Базовые знания Python позволят вам интегрировать визуализации в простые приложения, которыми можно поделиться с другими, используя такие инструменты, как Plotly Dash и Streamlit. Эти инструменты призваны упростить процесс разработки приложений для специалистов по анализу данных, начинающих программировать, и базовых концепций, рассмотренных в этой статье, будет достаточно, чтобы начать их использовать.
Если этого недостаточно, чтобы убедить вас, я настоятельно рекомендую вам перейти по одной из ссылок выше и начать самостоятельно изучать некоторые из этих инструментов визуализации. Как только вы увидите, что с ними можно сделать, вы уже не сможете вернуться к прежнему.
Что касается меня, то в следующей статье я вернусь и представлю свой собственный урок по созданию визуализаций. (Возможно, один или несколько из этих инструментов появятся.) До свидания!
Ссылки
- https://www.khanacademy.org/math/cc-sixth-grade-math/x0267d782:cc-6th-exponents-and-order-of-operations/cc-6th-order-of-operations/v/more-complicated-order-of-operations-example
- https://dash.plotly.com/tutorial
- https://docs.streamlit.io/get-started
Источник: towardsdatascience.com























