Этюды для программистов на Python
2.54K subscribers
44 photos
3 videos
7 files
149 links
👋 Привет, я Дима, руководитель образовательных проектов в @Positive_Technologies и Python-евангелист.
Пишу про обработку данных на языке Python 🐼, управление проектами и преподавание.
Связаться со мной → @dm_fedorov
Download Telegram
Сколько времени необходимо, чтобы профессионально научиться программировать на Python? День? Год или 5 лет?
Здесь нет окончательного ответа.
Ежегодно выходят новые версии, появляются новые библиотеки и технологии.
С удивлением обнаружил, что мой старый код не работает в новой версии pandas.
Обучение как и жизнь - это процесс.
В обучении программированию нельзя достигнуть границы познания.
Друзья, книга "Программирование на языке высокого уровня Python" теперь доступна для заказа на Озоне 🤟🏻

Знаю, что многие из вас ее уже читали ☺️

Буду благодарен за отзывы на Озоне:
https://www.ozon.ru/product/programmirovanie-na-yazyke-vysokogo-urovnya-python-177783809/

На данный момент я дописываю новое дополненное издание, надеюсь, до нового года оно появится в продаже! 😇

PS. немного устаревшая электронная версия лежит на сайте: https://dfedorov.spb.ru/python3/
Составил сравнительную таблицу между мышлением программиста и аналитика данных.
Выяснилось, что аналитик во многом использует инструментарий мышления ученого: постановка и проверка гипотез, разработка моделей и пр. Программист в больше степени инженер, который ориентирован на создание нового.
Выводы: аналитиков нельзя обучать по шаблонам программистов и наоборот, в программу обучения аналитиков необходимо включить курс по научной деятельности.
А вы знали, что в pandas можно создавать собственные методы? Это позволяет значительно упростить жизнь аналитика, например, при создании сводных таблиц. На эту тему перевел статью Криса Моффита: http://blog.dfedorov.spb.ru/all/sozdanie-prostyh-svodnyh-tablic-v-pandas-s-pomoschyu-sidetable/
Друзья, единственный способ освоить Python - это решать практические задачи или кейсы! 👨‍🏫

Сегодня представляю две заметки на эту тему.

1) Эволюция командной оболочки от Python к Jupyter Lab: http://blog.dfedorov.spb.ru/all/evolyuciya-komandnoy-obolochki-python/

2) IPython для системного администрирования (разбираемся с классом IPython.utils.text.SList):
http://blog.dfedorov.spb.ru/all/poluchit-identifikatory-processov-prinadlezhaschih-polzovatelyu/
Задача для разминки: вывести список поддиректорий в текущей директории несколькими способами.

Решение (4 способа): http://blog.dfedorov.spb.ru/all/opredelyaem-podkatalogi-v-tekuschem-kataloge/
Мышление определяется языком программирования.
Часто о мышлении говорят в терминах парадигм программирования.

Парадигмы — различные подходы человека к осмыслению одного и того же явления.

Выделяют четыре основных парадигмы программирования и множество универсальных.

К основным относят:
- Императивное программирование
- Функциональное программирование
- Декларативное программирование
- Объектно-ориентированное программирование

В отличие от научных парадигм (вспомним гео-гелиоцентрическую систему мира) в программировании происходит расширение, а не исключение парадигм.

Все подробности по ссылке:
http://blog.dfedorov.spb.ru/all/paradigmy-v-myshlenii-programmista/
Много раз на занятиях по Python я говорил, что списковые включения - это стильно, модно и молодежно. Они быстрее функциональщины типа фильтров, а сегодня решил запустить сравнение для версии 3.8... и вот:
Один из самых частых вопросов про Python: зачем нужны кортежи?
Ответ: для хранения отдельных записей, в которых позиция элементов и их структура имеют значение.
Например, в базе с помощью кортежей хранятся координаты (широта и долгота) нескольких городов.
1
Друзья, УрФУ запустил чудесный бесплатный открытый курс "Программирование глубоких нейронных сетей на Python" на платформе OpenEDU 🥳

Для прохождения курса предварительно надо знать линейную алгебру и Python🐍

По ссылке сам курс: https://openedu.ru/course/urfu/PYDNN
Завершил перевод официальной документации по pandas! Ура! ❤️

Темы занятий:
01. Какие данные обрабатывает pandas?
02. Как мне читать и записывать табличные данные?
03. Как выбрать подмножество из DataFrame?
04. Как строить график в pandas?
05. Как создать новые столбцы?
06. Как рассчитать сводную статистику?
07. Как изменить раскладку таблиц?
08. Как объединить данные из нескольких таблиц?
09. Как легко обрабатывать данные временных рядов?
10. Как манипулировать текстовыми данными?

Ссылки на блокноты и Colab лежат здесь: http://dfedorov.spb.ru/pandas/
Завершил перевод статьи "Pandas за 10 минут" 🥳
Правда, название звучит, как С++ за 24 часа 😄
Ссылка на Блокнот (внутри есть Colab): http://dfedorov.spb.ru/pandas/Pandas%20%D0%B7%D0%B0%2010%20%D0%BC%D0%B8%D0%BD%D1%83%D1%82.html
Перевод статьи о сводных таблицах (pivot_table) в pandas 🥳🐍
🔥 Завершил перевод "Подробного руководства по группировке и агрегированию с помощью pandas" от Криса Моффитта (по ссылке Блокнот и Colab)

Все переводы доступны на странице