Я начал свой путь в науке о данных с R. Это был язык, который пробудил во мне энтузиазм в отношении программирования и науки о данных, и поэтому я всегда позиционировал себя как сторонник R в битве между Python и R. , Однако, в то время как я продвинулся как специалист по данным, я в конечном итоге достиг точки, когда R больше не был лучшим вариантом для меня (например, когда дело доходит до глубокого обучения). В тот момент я решил выйти на новый уровень и узнать, что может предложить противник…

Хотя к настоящему времени я уже научился ценить преимущества Python, мое начало все еще было довольно ухабистым. Еще до того, как я смог ввести и запустить код, я должен был понять, что существуют некоторые различия между обоими языками, когда дело доходит до установки и настройки, о которых вам нужно знать. Поскольку я потратил довольно много времени на поиск простого (!) руководства по установке и выяснение того, как правильно начать работу с Python, я хотел бы избавить вас от путаницы.Итак, вот первые три препятствия, которые мне понадобились. взять и чему я научился.

1. В поисках лучшей IDE: R-Studio или Spyder, PyCharm, Jupyter Notebook и т. д. (и что, черт возьми, такое Anaconda?)

Интегрированная среда разработки (IDE) — это инструмент, помогающий писать, тестировать и отлаживать код. Для R R-Studio — САМАЯ популярная IDE. Я редко видел, чтобы код R выполнялся в другой среде IDE. Однако для Python ситуация несколько иная. При поиске (для меня) наиболее подходящей IDE я наткнулся на такие названия, как Spyder, PyCharm, Jupyter Notebook или даже Anaconda (это не IDE, но я перейду к этому через секунду), не зная, чем они отличаются и как они относятся друг к другу. Поэтому позвольте мне пролить немного света во тьму:

Spyder, PyCharm и Jupyter Notebook относятся к самым популярным IDE для Python, и независимо от того, какую из них вы выберете, она не быть плохим выбором. Тем не менее, хотя Jupyter Notebook часто рекомендуется как простой в использовании инструмент для начинающих Python, у меня были проблемы с ним, поскольку его структура несколько отличается от R-Studio, например. нет встроенного проводника переменных. Поэтому я выбрал Sypder (и я так хорошо с ним справился, что мне даже не пришлось пробовать PyCharm или другую IDE).

Самое замечательное в Spyder еще и то, что он является частью дистрибутива Anaconda. Это означает, что Anaconda предоставляет вам все необходимое для обработки данных в Python «из коробки». Помимо Spyder, он также включает в себя основной язык Python и поставляется с более чем 100 предустановленными пакетами. Кроме того, Anaconda — отличный менеджер пакетов и зависимостей.

Итак, позвольте мне подытожить мои первые выводы: При переходе с R на Python используйте Spyder в качестве IDE, которую можно просто установить и запустить через Anaconda.

2. Установка пакетов: install.packages() или pip install (и когда вместо этого использовать pip2 или pip3?)

Выбрав подходящую IDE, я решил установить некоторые дополнительные пакеты, необходимые для анализа и не предустановленные в Anaconda. В R я бы сейчас ввел install.packages("R_PACKAGE_NAME") в свой открытый скрипт, и все. Однако в Python запуск соответствующей команды pip install PYTHON_PACKAGE_NAME в сценарии приводит к ошибке. ПОЧЕМУ?

Причина в том, что пакеты Python необходимо устанавливать отдельно в терминальном приложении, а не в среде IDE. Для этого выберите Среды в меню Anaconda и щелкните символ Воспроизвести рядом с выбранной средой (если вы только что установили Anaconda, вы просто найдете базовую среду). ). Затем нажмите Открыть терминал, чтобы запустить приложение терминала. В терминале теперь можно ввести pip install PYTHON_PACKAGE_NAME и нажать Enter, чтобы установить необходимый пакет.

Все идет нормально! Что действительно расстроило меня, когда я выяснял, как и особенно где устанавливать пакеты Python, так это то, что на форумах вопросов и ответов или на GitHub люди не только сообщали об использовании pip install, но и pip2. install или pip3 install для установки пакетов. Поэтому я очень запутался в том, чем отличаются команды и какую команду использовать, когда. Кроме того, новичку очень сложно понять объяснения (часто очень крутые), которые можно найти в Интернете. Теперь, когда вы лучше понимаете Python и то, как он работает, это уже не так сложно. Итак, позвольте мне попытаться объяснить простыми словами, чтобы избавить вас от неприятностей:

pip install — это «стандартная» команда для установки новых пакетов Python. Кроме того, вам может потребоваться установка pip2 или установка pip3, если на вашем компьютере установлены разные версии Python и вы хотите обращаться к ним отдельно. Поэтому, если у вас, например, установлен Python 2.7, вы должны использовать pip2 install для добавления дополнительных пакетов в эту версию. Напротив, для Python 3 вы должны использовать установку pip3.

Все еще звучит сложно? Не беспокойся! Еще одна замечательная особенность Anaconda заключается в том, что нам не нужно заботиться о том, использовать ли pip2 или pip3 при открытии терминального приложения, как я объяснил выше. Anaconda автоматически гарантирует, что мы устанавливаем необходимый пакет для версии Python, с которой мы сейчас работаем, просто введя pip install.
(Если вы все еще хотите узнать, какую версию вы используются в настоящее время, просто введите python --version в терминале, и он немедленно сообщит вам. Например, я сейчас использую Python 3.8.8. Поэтому я мог бы также ввести pip3 install при установке пакета в версию Python, с которой я сейчас работаю.)

Итак, позвольте мне подвести итоги моего второго урока: при переходе с R на Python установите новые пакеты, открыв терминал через Anaconda и введя pip install PYTHON_PACKAGE_NAME.

3. Использование функций из пакетов: library() vs. (from…) import…

Последним препятствием, которое мне нужно было преодолеть, прежде чем, наконец, я собирался запустить какой-то код, была загрузка пакетов, которые я только что установил или которые были предварительно установлены с Anaconda. В R загрузка пакетов осуществляется с помощью команды library(R_PACKAGE_NAME) . После запуска вы можете получить доступ к каждой функции, содержащейся в конкретном пакете, просто введя имя функции и ее необходимые параметры. Предположим, например, что мы хотим импортировать файл CSV с функцией read_csv из пакета readr. Код будет выглядеть так:

Напротив, логика в Python немного отличается, так как вам нужно загрузить пакет И функцию для его запуска «способом R». Чтобы было понятнее, давайте также импортируем CSV-файл в Python. Мы можем прочитать файл CSV с помощью команды read_csv из пакета pandas. Однако в этом случае недостаточно загрузить пакет pandas с помощью команды import pandas, чтобы затем использовать все функции этого пакета. Это выдало бы ошибку. Вместо этого нам также нужно указать, какую конкретную функцию мы хотим загрузить через from pandas import read_csv. Только теперь мы можем использовать команду read_csv точно так же, как в R.

Совет. Тем не менее, хорошая вещь в импорте пакетов в Python заключается в том, что он более гибкий, чем в R. Например, предположим, что мы будем часто использовать функцию read_csv в нашем сценарии. Чтобы не писать read_csv каждый раз, мы можем импортировать функцию, используя другое, более короткое имя. Скажем, читать. Затем мы можем импортировать функцию через from pandas import read_csv как read и с этого момента ссылаться на нее как read.

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

С какими проблемами вы столкнулись при переходе с R на Python?