Блог питониста

Python и анализ данных

Эта книга представляет собой полную инструкцию по использованию, обработке, и манипулированию датасетами в Python. Вы ознакомитесь с огромным количеством практических примеров, показывающих, как можно решить широкий спектр задач анализа данных.

Это идеальное пособие для изучения программ на Python и анализа данных, так как книга оказывает практическое и современное введение в инструменты Data Science используя Python. В этой книжке по Python’y вы изучите последние версии NumPy, Pandas, IPython и Jupiter.

Эта книга представлена в двух изданиях. Второе еще не переведено на русский, поэтому тут сразу две ссылки.

Русская версия, но первое издание: тык.

Английская версия, но второе издание: тык.

Зен Python’а

Тим Питерс, основной вкладчик сообщества Python, написал это стихотворение, чтобы подчеркнуть философию Python. Если вы введете «import this» в Python, то увидите это стихотворение:

Ниже представлен перевод на русский язык:

  • Красивое лучше, чем уродливое.
  • Явное лучше, чем неявное.
  • Простое лучше, чем сложное.
  • Сложное лучше, чем запутанное.
  • Плоское лучше, чем вложенное.
  • Разреженное лучше, чем плотное.
  • Читаемость имеет значение.
  • Особые случаи не настолько особые, чтобы нарушать правила.
  • При этом практичность важнее безупречности.
  • Ошибки никогда не должны замалчиваться.
  • Если они не замалчиваются явно.
  • Встретив двусмысленность, отбрось искушение угадать.
  • Должен существовать один и, желательно, только один очевидный способ сделать это.
  • Хотя он поначалу может быть и не очевиден, если вы не голландец( Отсылка к нидерландскому программисту, создавшему язык Python, Гвидо ван Россуму  ).
  • Сейчас лучше, чем никогда.
  • Хотя никогда зачастую лучше, чем прямо сейчас.
  • Если реализацию сложно объяснить — идея плоха.
  • Если реализацию легко объяснить — идея, возможно, хороша.
  • Пространства имён — отличная штука! Будем делать их больше!

Translating Text

Importing necessary libraries:

Googletrans provides us with a convenient interface, let’s initialize our translator instance:

Now we simply use method to get the translated text:

This will print the original text and language along with the translated text and language:

It automatically detects the language and translate to english by default, let’s translate to another language, arabic for instance:

is the language code for arabic, here is the output:

Now let’s set a source language and translate to English:

Output:

You can also check other translations and some other extra data:

See the output:

A lot of data to benefit from, you have all the possible translations, confidence, definitions and even examples.

Storing the CSV file as a data frame

In this step, we will be storing the CSV file as a data frame with the help of pandas. For you to get the CSV file, click the link below:

After downloading the CSV file, upload the file to Google Colab. There are 3 horizontal lines on the left-hand side, on hovering it prompts “Show table of contents”. After clicking go the “Files” tab and then press “Upload”. Then upload the CSV.

Uploading the CSV file

Now you have to read the CSV file and store it in a data frame. For clarity, I am displaying the first 10- rows of the data frame.

# Reading and storing the CSV file as a dataframedf = pd.read_csv('/content/Vegetables_names_in_hindi.csv')df.head(10)

Динамика

  • Во-первых, это динамическая типизация

    Данное словосочетание означает тот факт, что переменная, объявленная в этом языке, не имеет привязанного к ней типа. То же самое касается сигнатур функций и полей классов.

    Писать что-то подобное возможно только в динамически типизированных языках:

    Эти возможности приводят к тому, что разработчик имеет меньше гарантий корректной работы программы на уровне системы типов. Обширный класс ошибок, отлавливаемых в статически типизированных языках на этапе компиляции, возникает в Питоне уже на этапе рантайма, что ставит его в проигрышное положение по сравнению с ними, — по крайней мере, при поддержке большой кодовой базы.

  • Вторая такая особенность — это пространство имён.

    В Питоне переменная, будучи объявленной, не обязана прекращать существование после выхода из родного блока отступов. Например, следующий код является рабочим:

  • Третьим фактором является широкая гибкость в динамическом переопределении процесса создания объектов. В Питоне возможно такое:

    Этот код требует пояснения. Дело в том, что в Питоне все сущности, существующие в рантайме, являются объектами. Объекты, в свою очередь, являются реализациями, или как их ещё называют — инстансами, классов. Но классы же ведь тоже являются объектами.

    Как вы можете догадаться, те сущности, инстансами которых являются классы, называются метаклассами.

    В данном конкретном примере классы и имеют общий метакласс , который подменяет тип, от которого пытается наследоваться класс. Так, при попытке отнаследоваться от типа , класс, на самом деле, станет наследником типа , а в противном случае — типа .

  • Ну и наконец, четвёртой сложностью является возможность создавать классы динамически.

Более того, появление концепции протоколов, введённой в , которые вносят рантаймовый оверхед наследования, ислючительно для ублажения статических анализаторов кода, на мой взягляд, свидетельствует о том, что разработчики языка зашли куда-то не туда.

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

Выводы

В данной статье были рассмотрены два основных недостатка языка Python, а именно: его малое быстродействие и недостаточные возможности статического анализа кода. Эти проблемы взаимосвязаны, и решение последней автоматически откроет дорогу для решения первой.

Как бы то ни было, язык Python является отличным инструментом для быстрого написания кода. Его широкие динамические возможности, а также понятность и, я не побоюсь этого слова, красота синтаксиса обуславливают то, что процесс составления программ на нём действительно вызывает удовлетворение. Тем не менее, как и любой инструмент, этот язык имеет свои недостатки и о них полезно помнить перед началом своих проектов.

Легкий способ изучить Python

Такой учебник поможет изучить Python через выполнение пятидесяти двух отлично проработанных упражнений. Исправьте ошибки в коде, узнайте, как выглядят хорошие программы и как их разрабатывать.

Вы узнаете, как правильно установить полное окружение языка Python, красиво и правильно писать код, освоите базовую математику, переменные, циклы и логику, автоматизированное тестирование и работу с пакетами в Python. А для закрепления изучите основы геймдева и веб-разработки средствами языка программирования Python.

А вот и книга.

Проходите тест по Python и поймите, готовы ли вы идти на курсы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *