Python для сбора данных — различия между версиями

Материалы по математике, 2018-19 учебный год
Перейти к: навигация, поиск
(Домашние задания)
(Домашние задания)
 
(не показаны 64 промежуточные версии этого же участника)
Строка 8: Строка 8:
 
== Правила игры ==
 
== Правила игры ==
  
* Программа курса ([http://math-info.hse.ru/f/2018-19/py-polit/py-icef.pdf ссылка])
+
* Программа курса: [http://math-info.hse.ru/f/2018-19/py-polit/py-icef.pdf ссылка]
* FAQ (tba soon)
+
* Информация по курсу: [https://docs.google.com/document/d/16ewA97g81VbeJhmsU4Xgv5ZmyFAGvcae7V0Mjrk9b2Y/edit?usp=sharing ссылка]
 +
* Информация по проекту: [https://docs.google.com/document/d/1yPWd2Gnvusc0RC7C-lOzHvZJhkyb4xWggZJKffumJ5c/edit?usp=sharing ссылка], [https://forms.gle/68mXvTbYdigFGXtG7 опрос]
 +
 
 +
== Проект ==
 +
 
 +
* описание проекта: дедлайн 15 мая 23:59, [https://www.dropbox.com/request/IerqlpnZZMEHLGIIR9XX ссылка] для сдачи
 +
* документация по проекту и программа: дедлайн – день перед защитой, 23:59, [https://www.dropbox.com/request/eEhaDPvCPna1VhQslHOA ссылка] для сдачи
  
 
== Материалы ==
 
== Материалы ==
Строка 28: Строка 34:
 
|| [https://jupyter.org/documentation more] on Jupyter Notebook, [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/coding-style.ipynb coding style],
 
|| [https://jupyter.org/documentation more] on Jupyter Notebook, [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/03-09/coding-style.ipynb coding style],
 
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/0-12-02/string-formatting.ipynb string formatting], [https://realpython.com/python-f-strings/ f-strings], [https://github.com/allatambov/Latex LaTeX]
 
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/0-12-02/string-formatting.ipynb string formatting], [https://realpython.com/python-f-strings/ f-strings], [https://github.com/allatambov/Latex LaTeX]
 +
|-
 +
| 19.02
 +
|| Списки в Python. Цикл for.
 +
|| [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/1-19-02/lecture-lists.ipynb lists] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/1-19-02/split-join.ipynb split-join]
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/1-19-02/practice-1.ipynb practice-1] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/1-19-02/practice1-solutions.ipynb practice-1-solutions]
 +
|| [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/1-19-02/lists-methods.ipynb lists-methods], [https://ipython.readthedocs.io/en/stable/interactive/magics.html Jupyter magic cells],
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/add/sympy-2.ipynb how-not-to-get-bored-2]
 +
|-
 +
| 26.02
 +
|| Управляющие конструкции в Python.
 +
Цикл while. Функции в Python.
 +
|| [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/2-26-02/if-else-while.ipynb if-else-while] [http://nbviewer.math-hse.info/github/ischurov/pythonhse/blob/master/Lecture%204.ipynb]
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/2-26-02/practice-2.ipynb practice-2]
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/2-26-02/practice-2-solutions.ipynb practice-2-solutions][https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/2-26-02/practice-3.ipynb practice-3]
 +
||
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/2-26-02/texts.ipynb how-not-to-get-bored-3]
 +
|-
 +
| 12.03
 +
|| Ещё немного о функциях. Датафреймы pandas.
 +
|| 
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/3-12-03/practice-3-solutions.ipynb practice-3-solutions] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/3-12-03/lambda-except-assert.ipynb more-functions]
 +
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/3-12-03/pandas1.ipynb pandas-1] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/3-12-03/pandas2.ipynb pandas-2] [http://math-info.hse.ru/f/2017-18/py-prog/scores2.csv scores2.csv]
 +
||
 +
[https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/3-12-03/numpy-1.ipynb how-not-to-get-bored-4]
 +
|-
 +
| 19.03
 +
|| Библиотека pandas: продолжение. Визуализация. 
 +
|| 
 +
[https://github.com/allatambov/py-icef/blob/master/4-19-03/pandas-contd.ipynb pandas-3] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/4-19-03/practice4.ipynb practice-4] [https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/28-05/sem-28-05-solutions.ipynb practice-4-solutions]
 +
 +
[https://raw.githubusercontent.com/allatambov/py-icef/master/4-19-03/elections.csv elections.csv] [https://raw.githubusercontent.com/allatambov/py-icef/master/4-19-03/Titanic.csv Titanic.csv]
 +
||
 +
[https://github.com/allatambov/Py-programming-3/blob/master/add/texts-part3.ipynb how-not-to-get-bored-5]
 +
 +
[https://nbviewer.jupyter.org/github/allatambov/Py-programming-3/blob/master/add/graphs-matplotlib.ipynb matplotlib] [https://matplotlib.org/gallery.html Галерея] matplotlib [https://seaborn.pydata.org/index.html Seaborn]
 +
|-
 +
| 02.04
 +
|| Парсинг html-файлов. Web-scrapping.
 +
||  [https://nbviewer.jupyter.org/github/allatambov/py-dat19/blob/master/21-03/lect-html.ipynb lect-html] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/5-02-04/web-scrape.ipynb web-scrape]
 +
||
 +
[https://www.w3schools.com/html/ w3schools] [https://www.coursera.org/specializations/web-design веб-дизайн] на Coursera
 +
 +
[https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/14-12/html-sem.ipynb scraping-seminar] [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/14-12/html-sem-solutions.ipynb scaping-solutions]
 +
|-
 +
| 09.04
 +
|| Управление браузером. Библиотека Selenium.
 +
||  [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/6-09-04/lect-selenium-1.ipynb selenium-1] [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/6-09-04/lect-selenium2.ipynb selenium-2]
 +
|| [https://sites.google.com/a/chromium.org/chromedriver/downloads web-driver] [https://github.com/mozilla/geckodriver/releases/tag/v0.24.0 web-driver firefox]
 +
[https://chrome.google.com/webstore/detail/selectorgadget/mhjhnkcfbdhnjickkkdbjoemdmbfginb selector-gadget] [https://nbviewer.jupyter.org/github/allatambov/py-dat19/blob/master/28-03/selenium-books.ipynb selenium-books]
 +
|-
 +
| 16.04
 +
|| Работа с API. Формат json.
 +
|| [vk-library] [http://math-info.hse.ru/f/2018-19/py-polit/vk-auth.pdf vk-instruct]
 +
|| [https://vk.com/dev/manuals vk-docs] [https://pypi.org/project/vk-api/ vk-api-library]
 +
[https://www.w3schools.com/python/python_datetime.asp datetime] [https://nbviewer.jupyter.org/github/allatambov/PyProg-2018/blob/master/14-12/py-gmail.ipynb рассылка gmail]
 
|}
 
|}
  
Строка 34: Строка 96:
 
* [https://colab.research.google.com/notebooks/welcome.ipynb Google Colaboratory] (Jupyter online)
 
* [https://colab.research.google.com/notebooks/welcome.ipynb Google Colaboratory] (Jupyter online)
  
* Pythontutor: [http://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод], [http://pythontutor.ru/lessons/int_and_float/ вычисления], [http://pythontutor.ru/lessons/str/ строки]
+
* [http://www.pythontutor.com/visualize.html#mode=edit Pythontutor Visualizer] (онлайн визуализатор исполнения кода)
 +
 
 +
* Pythontutor: [http://pythontutor.ru/lessons/inout_and_arithmetic_operations/ ввод и вывод], [http://pythontutor.ru/lessons/int_and_float/ вычисления], [http://pythontutor.ru/lessons/str/ строки], [http://pythontutor.ru/lessons/for_loop/ цикл for], [http://pythontutor.ru/lessons/lists/ списки], [http://pythontutor.ru/lessons/2d_arrays/ двумерные массивы], [http://pythontutor.ru/lessons/ifelse/ условия], [http://pythontutor.ru/lessons/while/ цикл while], [http://pythontutor.ru/lessons/functions/ функции и рекурсия]
 +
 
 +
'''К проекту - вспомогательные материалы'''
 +
 
 +
[https://github.com/allatambov/CognTech/tree/master/statistics Статистика]: проверка гипотез и регрессионные модели в Python;
 +
 
 +
''Интерактив''
 +
 
 +
*[https://dash.plot.ly/ Dashboards]: аналитика и интерактив средствами ''dash'' и ''plotly'';
 +
 
 +
*[https://likegeeks.com/python-gui-examples-tkinter-tutorial/ Tkinter]: создание кнопок и окон с помощью tkinter, [https://ipywidgets.readthedocs.io/en/stable/user_guide.html Jupyter Widget]: интерактивные виджеты в Jupyter;
 +
 
 +
*[http://flask.pocoo.org/ Flask]: создание сайтов на платформе Flask средствами Python;
 +
 
 +
''Карты''
 +
 
 +
*[https://github.com/googlemaps/google-maps-services-python Googlemaps]: GoogleMaps API и Python, [https://www.geeksforgeeks.org/python-calculate-distance-duration-two-places-using-google-distance-matrix-api/ GoogleMaps]: GoogleMaps and distances; [https://pypi.org/project/yandex-maps/ Яндекс-карты]: Яндекс-карты API и Python;
 +
 
 +
*Работа с shape-файлами и раскраска карт: [http://geopandas.org/ geopandas-official], [http://darribas.org/gds15/content/labs/lab_03.html geopandas-lab], [https://towardsdatascience.com/mapping-geograph-data-in-python-610a963d2d7f shape-files], [https://gadm.org/maps.html GAM] (ресурс с shp-файлами для карт);
 +
 
 +
''Работа с текстами, боты''
 +
 
 +
*[https://www.datacamp.com/community/tutorials/wordcloud-python Wordclouds]: облака слов в Python;
 +
 
 +
*Telegram-боты: [https://tproger.ru/translations/telegram-bot-create-and-deploy/ 1], [https://medium.freecodecamp.org/learn-to-build-your-first-bot-in-telegram-with-python-4c99526765e4 2];
  
 
== Домашние задания ==
 
== Домашние задания ==
Строка 42: Строка 130:
 
! Название !! Базовый !! Продвинутый !! Дедлайн: базовый (продвинутый)
 
! Название !! Базовый !! Продвинутый !! Дедлайн: базовый (продвинутый)
 
|-
 
|-
| Домашнее задание 1 || [https://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/py-icef19/icef-hw1/icef-hw1.ipynb hw1-base]|| [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/add/HW1-adv.ipynb hw1-adv] || 20 (22) февраля, 23:59
+
| Домашнее задание 1 || [https://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/py-icef19/icef-hw1/icef-hw1.ipynb hw1-base]|| [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/add/HW1-adv.ipynb hw1-adv] || 20 февраля, 23:59 (22 февраля, 23:59)
 
|-
 
|-
| Домашнее задание 2 || - || - || -
+
| Домашнее задание 2 || [https://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/py-icef19/icef-hw2/icef-hw2.ipynb hw2-base] || [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/add/HW2-adv.ipynb hw2-adv] || 5 марта, 23:59 (24 марта, 23:59)
 
|-
 
|-
 +
| Домашнее задание 3 || [https://nbviewer.jupyter.org/url/python.math-hse.info/static/assignments_release/py-icef19/icef-hw3/icef-hw3.ipynb hw3-base] || не будет || 20 марта, 23:59
 +
|-
 +
| Домашнее задание 4 || [https://github.com/allatambov/py-icef/blob/master/icef_hw4.ipynb hw4-base] (грузить [https://www.dropbox.com/request/HbhCrS7RYIY1ax5sdCk2 сюда])|| tba soon || 7 апреля, 23:59
 +
|-
 +
| Домашнее задание 5 || [https://github.com/allatambov/py-icef/blob/master/icef_hw5.ipynb hw5] (грузить [https://www.dropbox.com/request/o4wvglnC9yQbcq3eic2Y сюда])|| не будет || 25 апреля, 23:59
 
|}
 
|}
 +
 +
Дополнительное ДЗ: [https://nbviewer.jupyter.org/github/allatambov/py-icef/blob/master/hw_last_call.ipynb ссылка], загружать [https://www.dropbox.com/request/PaasvMU843bokPeCkxLs сюда], дедлайн (жесткий): 26 мая 23:59

Текущая версия на 16:57, 21 мая 2019

Дорогие студенты!

На этой странице будут появляться различные материалы и объявления, связанные с курсом «Python для сбора данных», читаемого для студентов МИЭФ, в весеннем семестре 2018/2019 учебного года.

  • Авторы курса: Щуров Илья Валерьевич, Тамбовцева Алла Андреевна
  • Лекции и семинары ведет: Тамбовцева Алла Андреевна

Правила игры

Проект

  • описание проекта: дедлайн 15 мая 23:59, ссылка для сдачи
  • документация по проекту и программа: дедлайн – день перед защитой, 23:59, ссылка для сдачи

Материалы

Загрузка файла в Jupyter Notebook и прочее: см. инструкцию.

Скачать файл с расширением .ipynb можно так: пройти по ссылке, нажать на стрелочку в правом верхнем углу (Download Notebook) и сохранить файл. При необходимости сменить расширение с .txt на .ipynb.

Дата занятия Тема Занятие Дополнительно
12.02 Знакомство с Jupyter Notebook. Введение в Python.

Ввод и вывод. Строки.

jupyter-intro python-intro

input-output strings

more on Jupyter Notebook, coding style,

string formatting, f-strings, LaTeX

19.02 Списки в Python. Цикл for. lists split-join

practice-1 practice-1-solutions

lists-methods, Jupyter magic cells,

how-not-to-get-bored-2

26.02 Управляющие конструкции в Python.

Цикл while. Функции в Python.

if-else-while [1]

practice-2 practice-2-solutionspractice-3

how-not-to-get-bored-3

12.03 Ещё немного о функциях. Датафреймы pandas.

practice-3-solutions more-functions

pandas-1 pandas-2 scores2.csv

how-not-to-get-bored-4

19.03 Библиотека pandas: продолжение. Визуализация.

pandas-3 practice-4 practice-4-solutions

elections.csv Titanic.csv

how-not-to-get-bored-5

matplotlib Галерея matplotlib Seaborn

02.04 Парсинг html-файлов. Web-scrapping. lect-html web-scrape

w3schools веб-дизайн на Coursera

scraping-seminar scaping-solutions

09.04 Управление браузером. Библиотека Selenium. selenium-1 selenium-2 web-driver web-driver firefox

selector-gadget selenium-books

16.04 Работа с API. Формат json. [vk-library] vk-instruct vk-docs vk-api-library

datetime рассылка gmail

Дополнительно:

К проекту - вспомогательные материалы

Статистика: проверка гипотез и регрессионные модели в Python;

Интерактив

  • Dashboards: аналитика и интерактив средствами dash и plotly;
  • Tkinter: создание кнопок и окон с помощью tkinter, Jupyter Widget: интерактивные виджеты в Jupyter;
  • Flask: создание сайтов на платформе Flask средствами Python;

Карты

Работа с текстами, боты

  • Telegram-боты: 1, 2;

Домашние задания

Название Базовый Продвинутый Дедлайн: базовый (продвинутый)
Домашнее задание 1 hw1-base hw1-adv 20 февраля, 23:59 (22 февраля, 23:59)
Домашнее задание 2 hw2-base hw2-adv 5 марта, 23:59 (24 марта, 23:59)
Домашнее задание 3 hw3-base не будет 20 марта, 23:59
Домашнее задание 4 hw4-base (грузить сюда) tba soon 7 апреля, 23:59
Домашнее задание 5 hw5 (грузить сюда) не будет 25 апреля, 23:59

Дополнительное ДЗ: ссылка, загружать сюда, дедлайн (жесткий): 26 мая 23:59