5 причин, почему пора перестать пользоваться Excel и перейти на Python

Многие пользуются Excel для анализа данных, но Python лучше подойдет для решения аналитических задач: в нем можно работать с неограниченным количеством данных и написать пару строк кода для сложной операции. Перевели статью Stop Using Excel for Data Analytics: Upgrade to Python Тайлера Фолкмана, руководителя направления ИИ в Branded Entertainment Network, в которой он объясняет, почему стоит перейти на Python. Да, Excel — важный инструмент для компаний. До сих пор им пользуются аналитики и ученые. Но для большинства задач он не подходит. Вот пять причин, почему пора перестать использовать Excel и перейти на Python.

Освойте профессию «Аналитик данных»
Аналитик данных
Аналитики влияют на рост бизнеса. Они выясняют, какой товар и в какое время больше покупают. Считают юнит-экономику. Оценивают окупаемость рекламной кампании. Поэтому компании ищут и переманивают таких специалистов.

Профессия / 12 месяцев
Аналитик данных
Находите закономерности и делайте выводы, которые помогут бизнесу
4 483 ₽/мес 8 150 ₽/мес

Причина 1. Масштабирование и автоматизация

Excel хорош, когда нужно за раз проанализировать небольшое количество данных. Но для масштабных вычислений он не подходит. Excel поддерживает данные размером до 1 048 576 строк и до 16 384 столбцов. Python может масштабироваться до объема памяти. Кроме того, у него есть много инструментов, поддерживающих вычисления и вне памяти устройства. Например, с помощью библиотеки Dask можно масштабировать вычисления для работы на внешнем кластере, а не только на ноутбуке. Если вы уже работали с Pandas (библиотекой для анализа и обработки данных), то тут используется почти такой же код для чтения в формате CSV: Всего одна строка кода, и вы можете прочесть данные, объем которых превышает размер памяти компьютера. В Excel это сделать невозможно. Кроме того, Python можно использовать для работы с несколькими источниками данных. Если Excel — это одновременно и хранилище, и вычислительный механизм, то Python полностью независим. Если вы можете найти способ прочитать данные в Python, вы сможете их использовать. У Python много библиотек, поэтому можно анализировать данные из разных источников, будь то CSV, Excel, JSON или SQL.

Станьте аналитиком данных и получите востребованную специальность

Наконец, Python незаменим при автоматизации. Этот язык программирования позволяет напрямую подключаться к базе данных и выполнять обновления автоматически. С его помощью можно проводить расчеты, создавать отчеты или динамические дашборды, экономя массу времени. В Excel многое надо вводить вручную, а обновления нельзя автоматизировать. Читайте также: Кому и для чего нужен Python?
Причина 2. Воспроизводимость
Воспроизводимость — это когда вашу аналитику или визуальный отчет легко может повторить другой человек. Он должен суметь не только перезапустить процессы и получить точно такой же результат, но и пройти те же самые шаги. Воспроизводимость важна при автоматизации, но настроить ее в Excel сложно. Дело в том, что расчеты в ячейках Excel практически невозможно проверить по любой шкале измерений. Типы данных сбивают с толку — не всегда то, что вы видите, представлено в необработанных данных. Да, в Excel можно использовать VBA (Visual Basic for Applications) и он немного улучшает воспроизводимость. VBA — это язык программирования, разработанный Microsoft и предназначенный для работы с пакетами Microsoft Office. Он позволяет писать программы прямо в файле и создавать макросы — набор команд для автоматического выполнения задач. При этом не нужно устанавливать среду для разработки — она уже есть в самом Excel. Но лучше все же потратить время на изучение Python. Посмотрите на этот документ в Excel:
В столбце с sum должна отображаться сумма чисел из столбцов A и B, но как это проверить? Вы можете проверить одну из формул и увидеть, что это на самом деле сумма, но поскольку каждая ячейка тоже может быть формулой, то результат неверный. Если не проверять все вручную, то можно пропустить ошибки. А в Python эти расчеты выглядели бы так:
Код простой и понятный, с его помощью можно легко проверить, что сумма рассчитана правильно. C Python вы получаете все инструменты, предназначенные для того, чтобы улучшить воспроизводимость и совместную работу программистов. Вдобавок ко всему, Python превосходит возможности подключения к данным. С его помощью можно анализировать данные в облаке и мгновенно повторять этот процесс. Git (распределенная система управления версиями), модульное тестирование, документация и стандарты форматирования кода широко распространены в сообществе Python. В третьей версии Python можно добавить статическую типизацию, чтобы сделать ваш код более понятным. Все эти инструменты упрощают процесс создания кода и обеспечивают его правильное написание. В следующий раз, когда кто-то будет смотреть ваш код, он сможет легко его понять и воспроизвести.
Причина 3. Гибкость навыков
Если вы знаете Excel, это, безусловно, полезный навык, но больше его применить негде. Python же многофункционален. Это не только удобный инструмент для анализа и визуализации данных, но и язык программирования, который можно использовать для чего угодно. Хотите заниматься машинным или глубоким обучением? Создать сайт? Автоматизировать умный дом? Все это можно сделать с помощью Python. Кроме того, Python намного ближе к другим языкам программирования, чем Excel. Поэтому, зная Python, гораздо легче изучить другие языки. Он открывает больше возможностей, чем Excel. И, наконец, Python невероятно востребован. По данным Stack Overflow, в 2019 году он стал четвертым по популярности языком программирования в мире среди профессиональных разработчиков ПО, а также первым наиболее востребованным языком программирования. (По данным Stack Overflow на май 2021 года, Python — третий по популярности язык программирования после JavaScript и HTML/CSS.) По оценкам американского сервиса по поиску работы Indeed, средняя зарплата разработчика на Python в США в 2020 году составляла 120 тысяч долларов в год. Неплохо.
Причина 4. Продвинутые инструменты

В Excel есть множество встроенных формул, но они меркнут по сравнению с возможностями Python. У Python не только сотни библиотек, помогающих упростить расширенную статистику и аналитику, но и продвинутые инструменты для визуализации данных. Это, например, библиотека Matplotlib, Plotly, фреймворк Streamlit и библиотека для статистических графиков Seaborn (все это — инструменты для визуализации данных). С их помощью вы можете прекрасно визуализировать данные, а также создавать интерактивные информационные панели и графики. Библиотеки Numpy и SciPy поддерживают научные и векторизованные вычисления, линейную алгебру. Библиотека Scikit-learn позволяет применять различные алгоритмы машинного обучения: от дерева принятия решений до градиентного бустинга. Я думаю, xkcd сказал об этом лучше всего:
Причина 5. Python легко выучить
Учитывая все преимущества Python над Excel, кажется, что он должен быть очень сложным. Но это не так. Посмотрите, как на Java выглядит самая простая программа Hello World:
На Python она займет всего одну строку:
Python — один из самых интуитивно понятных языков программирования. Его могут освоить даже те, у кого нет опыта в написании кода. Хотя обучение Excel может оказаться предпочтительнее, выгоды от него гораздо меньше. Python стоит потраченного времени и усилий, и Excel никогда не сможет с ним сравниться из-за универсальности его дизайна. Расскажем немного про основы анализа и визуализации данных в Python.
Как начать использовать Python для анализа данных

Изучим основные команды и операции в Python, которые потребуются при анализе данных. Первый нюанс — Python использует пробелы и не использует точку с запятой, как и другие языки. Вот очень простой пример:
Импорт функций

Мы будем использовать множество библиотек. Некоторые из них предустановлены вместе с Python, а другие придется поставить самостоятельно. Чтобы загрузить библиотеку, используйте оператор импорта (import statement): Эта команда импортирует класс Counter (счетчик) из библиотеки collections. Counter — полезный инструмент для дата-аналитиков. Он помогает подсчитать, сколько раз элементы появляются в коллекциях, например в списках. Ниже мы написали код, в котором создали список брачных возрастов. Используя Counter, мы можем быстро подсчитать, сколько раз появляется каждый возраст.
Списки на Python

Списки — это полезная структура данных, предназначенная для их хранения. Подробнее изучим их в следующем уроке. Например: Видно, что мы создали список, содержащий возраст вступления в брак, используя [ ] во второй строке. Затем передали этот список в функцию Counter, чтобы вывести наиболее распространенные значения в виде списка кортежей (tuple). Кортеж — это неизменяемый список внутри круглых скобок (). Кортежи содержат два элемента: значение и количество раз, когда это значение появлялось в вашем списке. Частота упорядочивает список кортежей. Первым отображается значение с наибольшим числом случаев.
Функции в Python
Функции в Python тоже полезны. Они начинаются с ключевого слова def и названия функции, затем добавляются аргументы в скобках. Вот функция, которая принимает 2 аргумента, x и y, и возвращает sum:
Функции также могут быть анонимными — в них не нужно расписывать всю структуру, указанную выше. Вместо этого можно использовать ключевое слово lambda. Вот та же функция, что и выше, но записанная как анонимная: 
Итоги
Пришло время перейти на Python. Больше нет оправданий! Я надеюсь, что эта статья помогла увидеть все преимущества Python и развеять сомнения.
Начало работы с Python в Excel
Python в Excel сейчас находится в предварительной версии и может быть изменен на основе отзывов. Чтобы использовать эту функцию, присоединитесь к программе предварительной оценки Microsoft 365 и выберите уровень предварительной оценки бета-канала.
У вас нет доступа к программе предварительной оценки? Зарегистрируйтесь с помощью учетной записи Майкрософт, рабочей или учебной учетной записи, чтобы получать уведомления о будущей доступности Python в Excel.
Python в Excel постепенно развертывается для пользователей Excel для Windows с помощью бета-канала. Сейчас эта функция недоступна на других платформах.
При возникновении проблем с Python в Excel, сообщите о них, выбрав Справка > Отзывы в Excel.
Новичок в Python в Excel? Начните с введение в Python в Excel.
Начало использования Python
Чтобы начать использовать Python в Excel, выберите ячейку и на вкладке Формулы выберите Вставить Python. Это сообщает Excel о том, что вы хотите написать формулу Python в выбранной ячейке.

Или используйте функцию =PY в ячейке, чтобы включить Python. Введя в ячейку =PY, выберите PY в меню автозаполнения функции со стрелкой вниз и клавишами TAB или добавьте в функцию открываемую скобку: =PY(. Теперь можно ввести код Python непосредственно в ячейку. На следующем снимке экрана показано меню Автозаполнения с выбранной функцией PY.

После включения Python в ячейке в этой ячейке отображается значок PY . При выборе ячейки Python в строке формул отображается тот же значок PY. Пример см. на снимке экрана ниже.

Объединение python с ячейками и диапазонами Excel
Чтобы ссылаться на объекты Excel в ячейке Python, убедитесь, что ячейка Python находится в режиме правки, а затем выберите ячейку или диапазон, которые нужно включить в формулу Python. При этом ячейка Python автоматически заполняется адресом выбранной ячейки или диапазона.
Совет: Используйте сочетание клавиш F2 для переключения между режимом ввод и режим правки в ячейках Python. Переключение в режим правки позволяет изменить формулу Python, а переключение в режим Ввод позволяет выбрать дополнительные ячейки или диапазоны с помощью клавиатуры. Дополнительные сведения о сочетаниях клавиш см. в статье Сочетания клавиш Python в Excel.
Python в Excel использует пользовательскую функцию Python xl() для взаимодействия между Excel и Python. Функция xl() принимает такие объекты Excel, как диапазоны, таблицы, запросы и имена.
Вы также можете напрямую вводить ссылки в ячейку Python с помощью функции xl() . Например, для ссылки на ячейку A1 используйте xl(«A1») , а для диапазона B1:C4 — xl(«B1:C4») . Для таблицы с заголовками MyTable используйте xl(«MyTable[#All]», headers=True) . Описатель [#All] гарантирует, что вся таблица анализируется в формуле Python, а headers=True обеспечивает правильную обработку заголовков таблицы. Дополнительные сведения об описателях, таких как [#All], см. в статье Использование структурированных ссылок с таблицами Excel.
На следующем рисунке показано вычисление Python в Excel с добавлением значений ячеек A1 и B1 с результатом Python, возвращенным в ячейку C1.

Строка формул
Используйте строку формул для редактирования, подобного коду, например для создания новых строк с помощью клавиши ВВОД. Разверните строку формул, используя значок стрелки вниз, чтобы просмотреть несколько строк кода одновременно. Вы также можете использовать сочетание клавиш CTRL+SHIFT+U , чтобы развернуть строку формул. На следующих снимках экрана показана строка формул до и после ее развертывания для просмотра нескольких строк кода Python.

Перед развертыванием строки формул:

После развертывания строки формул:
Совет: Дополнительные сведения о сочетаниях клавиш см. в статье Сочетания клавиш Python в Excel.
Типы выходных данных
Используйте меню выходных данных Python в строке формул, чтобы управлять тем, как возвращаются вычисления Python. Возвращает вычисления в виде объектов Python или преобразует вычисления в значения Excel и выводит их непосредственно в ячейку. На следующем снимку экрана показана формула Python, возвращаемая в виде значения Excel.
Совет: Вы также можете использовать контекстное меню, чтобы изменить тип выходных данных Python. Откройте контекстное меню, перейдите в раздел Вывод Python, а затем выберите нужный тип вывода.

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

Объект Python содержит дополнительные сведения в ячейке. Чтобы просмотреть дополнительные сведения, откройте карта, щелкнув значок карта. Сведения, отображаемые на карта, являются предварительным просмотром объекта, который полезен при обработке больших объектов.
Python в Excel может возвращать многие типы данных в виде объектов Python. Полезным типом данных Python в Excel является объект DataFrame. Дополнительные сведения о кадрах данных Python см. в статье Python в кадрах данных Excel.
Внешние данные
Чтобы импортировать внешние данные, используйте функцию Получить преобразование & в Excel. Преобразование get & использует Power Query для импорта внешних данных. Все данные, обрабатываемые с помощью Python в Excel, должны поступать с листа или через Power Query. Дополнительные сведения см. в статье Использование данных Power Query с Python в Excel.
Важно: Для защиты безопасности распространенные функции внешних данных в Python, такие как pandas.read_csv и pandas.read_excel, несовместимы с Python в Excel. Дополнительные сведения см . в статье Безопасность данных и Python в Excel.
Порядок вычислений
Традиционные операторы Python вычисляют сверху вниз. В ячейке Python в Excel операторы Python выполняют то же самое — вычисляют сверху вниз. Но на листе Python в Excel ячейки Python вычисляют в порядке крупных строк. Вычисления ячеек выполняются по строке (от столбца A до столбца XFD), а затем по каждой следующей строке на листе.
Инструкции Python упорядочены, поэтому каждая инструкция Python имеет неявную зависимость от инструкции Python, которая непосредственно предшествует ей в порядке вычисления.
Порядок вычислений важен при определении переменных на листе и ссылки на них, так как необходимо определить переменные, прежде чем можно будет ссылаться на них.
Важно: Порядок вычисления основных строк также применяется на всех листах в книге и основан на порядке листов в книге. Если вы используете несколько листов для анализа данных с помощью Python в Excel, обязательно включите данные и все переменные, хранящее данные в ячейках и листах перед ячейками и листами, которые анализируют эти данные.
Пересчета
При изменении зависимого значения ячейки Python все формулы Python пересчитываются последовательно. Чтобы приостановить пересчеты Python и повысить производительность, используйте режим частичного вычисления или ручного вычисления . Эти режимы позволяют активировать вычисление, когда вы будете готовы. Чтобы изменить этот параметр, перейдите на ленту и выберите Формулы, а затем откройте раздел Параметры вычисления. Затем выберите нужный режим вычисления. Режимы частичного вычисления и вычисления вручную приостанавливают автоматический пересчет как для Python, так и для таблиц данных.
Отключение автоматического пересчета в книге во время разработки Python может повысить производительность и скорость вычисления отдельных ячеек Python. Однако необходимо вручную пересчитать книгу, чтобы обеспечить точность в каждой ячейке Python. Существует три способа пересчета книги вручную в режиме частичного вычисления или ручного вычисления .
- Используйте сочетание клавиш F9.
- Перейдите к разделу Формулы >вычислить сейчас на ленте.
- Перейдите в ячейку с устаревшим значением, отображаемым с форматированием зачеркиванием, и выберите символ ошибки рядом с этой ячейкой. Затем в меню выберите Вычислить сейчас.
Ошибки
Вычисления Python в Excel могут возвращать такие ошибки, как #PYTHON!, #BUSY!и #CONNECT! в ячейки Python. Дополнительные сведения см. в статье Устранение ошибок Python в Excel.
Статьи по теме
- Введение в Python в Excel
- Введение в Python — обучение | Microsoft Learn
- Устранение ошибок Python в Excel
- Безопасность данных и Python в Excel
- Сочетания клавиш Python в Excel
- Python в кадрах данных Excel
- Python в Excel: создание графиков и диаграмм
- Использование данных Power Query с Python в Excel
Чем python лучше excel
Argument ‘Topic id’ is null or empty
Сейчас на форуме
© Николай Павлов, Planetaexcel, 2006-2023
info@planetaexcel.ru
Использование любых материалов сайта допускается строго с указанием прямой ссылки на источник, упоминанием названия сайта, имени автора и неизменности исходного текста и иллюстраций.
| ООО «Планета Эксел» ИНН 7735603520 ОГРН 1147746834949 |
ИП Павлов Николай Владимирович ИНН 633015842586 ОГРНИП 310633031600071 |
После третьей мировой войны выживут тараканы и EXCEL
Привычка работы в EXCEL зачастую является «фирменным» признаком финансиста или продвинутого инвестора. Сегодня EXCEL в сравнении с такими инструментами как Python, многим кажется молотком неандертальца из каменного века. Расчеты в EXCEL сложно масштабировать, при сколько-нибудь сложном алгоритме необходимо писать макрос и изучать VBA. Человек же, столкнувшийся с VBA, скорее всего, очень быстро поймет, что надо изучать Python или аналогичные современные языки и делать все расчеты там.
Но, несмотря на всё это, EXCEL не простоо выжил, он всё еще доминирует в финансовой среде и устойчиво сопротивляется всем нападкам (многие из которых, надо сказать, справедливы).
После третьей мировой войны выживут тараканы и EXCEL.
Joe Reis
Выживший
Любопытно выяснить, в чем причины такой выживаемости EXCEL. Многим кажется странным использовать древний EXCL, когда на рынке появились современные и модные инструменты. Как так получилось, что скромные по современным меркам электронные таблицы все еще существуют?
На мой взгляд, у этого явления есть две причины:
- Чрезвычайно дружественный интерфейс
- Привычка, которая развивается и поддерживается несколькими поколениями
Самое главное – это возможность начинать работать сразу, даже если вы знаете совсем немного об EXCEL. Вы видите таблицу такой, какой она является, и сразу можете что-то с ней сделать: вводить новые данные, применять простые и сложные формулы, строить графики и т.д.
В мире финансов и в других областях очень часто встречаются ситуации, когда у вас есть небольшой объем данных, и вам надо быстро с этим что-то сделать. Например, часто нужно бывает вычислить среднее в колонке доходностей или построить график накопленной доходности, сравнить данные двух биржевых индексов. Это делается за считанные секунды.
Простота использования и легкость обучения – это главное преимущество, которое каждый год привлекает к EXCEL новых пользователей и удерживает старых.
Вторая ситуация, когда данные никуда не уходят из EXCEL, типична в случае, когда на входе вы уже получаете таблицу в формате xls или более новом xlsm. Должно произойти что-то особенное, чтобы перебраться с этими данными в Python.
Но даже если вы получили на входе csv, что не менее распространено, возникает вопрос – как быть дальше? Часто и в этой ситуации “рука тянется к EXCEL”. Случается это потому, что импортировать csv с любым типом разделителя и любой раскладкой в EXCEL – дело нескольких секунд.
Должен ли финансист использовать EXCEL?
Так как EXCEL уже вошел в культуру финансовой среды, то знания этого инструмента, на мой взгляд, необходимы. Есть ситуации, когда применение EXCEL является оптимальным даже для тех, кто обладает опытом в Python или других языках программирования, ориентированных на анализ данных (например, R). К таким ситуациям относится:
- Анализ небольших объемов финансовых данных
(например, когда все данные умещаются на одном экране) - Ввод небольшого количества данных «руками»
- Использование EXCEL как продвинутой версии калькулятора
- Необходимо поделиться результатом с теми, кто не владеет тем же Python
Можно придумать еще много ситуаций, когда использование EXCEL вполне оправдано. Но в целом они все сводятся к одному сценарию. EXCEL хорош тогда, когда есть не слишком большой объем анализируемой информации, и когда не требуется применять к данным сложные алгоритмы.
Большим преимуществом EXCEL является то, что его можно освоить буквально за несколько часов и пользоваться им уже на приемлемом уровне.
Если вы еще плохо знакомы с EXCEL или совсем его не знаете, можно воспользоваться нашим вводным курсом EXCEL и финансы.

Когда надо задуматься о переходе на Python
Если у вас сотни или тысячи строк данных, то анализировать и даже просто «смотреть» их в EXCEL довольно неудобно. Против удобства начинает играть то, что считается преимуществом в других ситуациях. EXCEL показывает вам таблицу, какой бы большой она ни была. Её трудно куда-то спрятать и рассматривать только ее часть. Что-то из этого можно сделать с помощью фильтров, но их функционал довольно ограничен.
Если же вам потребовались макросы и код в VBA, то это уже явный признак, что пора переходить на Python.