Программирование для журналистики данных

Магистерская программа «Журналистика данных», факультет коммуникаций, медиа и дизайна, НИУ ВШЭ, 2017-18 учебный год.

  • Автор курса: Илья Щуров.
  • Страница курса
  • Этот ноутбук доступен по лицензии CC BY SA 4.0 Unported. Вы можете использовать его в любых целях при условии указания имени автора, аффилиации и ссылки на страницу курса. Все фрагменты кода также распространяются по лицензии MIT.

Задачи

  1. В файле electors.csv приведено количество выборщиков, закреплённых за каждым штатом США (по состоянию на 2016 год). В файле results.csv приведены искусственные результаты выборов (доля голосов за каждого кандидата по каждому штату). Считая, что все штаты инструктируют всех своих выборщиков голосовать за кандидата, набравшего большинство голосов в штате (строго говоря, это неверно: в Мэне и Небраске более сложные правила), найти победителя выборов.
  2. Написать функцию median, принимающую на вход несколько аргументов и возвращающую их медиану.
  3. Написать функцию append_column(table, column, inplace), принимающую на вход таблицу в виде списка списков и новую колонку и добавляющую колонку в таблицу. Если inplace установлен в True, функция должна модифицировать исходную таблицу и ничего не возвращать. Если inplace установлен в False, функция должна вернуть новую таблицу, а старую не модифицировать. Если inplace не задан, считать, что он задан в False.
  4. Написать функцию add_suffixes(strings, prefix, suffix, inplace), принимающую на вход список строк strings, строку prefix и строку suffix и приписывающую к каждой строке из strings prefix (к началу строки) и suffix (к концу). Если inplace установлен в True, следует модифицировать исходный список strings и ничего не возвращать, а если в False, то не модифицировать исходный список и вернуть новый список. По умолчанию считать, что inplace установлен в False.