Алла Тамбовцева, НИУ ВШЭ
За разные задачи можно получить разное число баллов. Максимум за ДЗ можно набрать 14 баллов.
Чтобы сдать ДЗ, его надо загрузить на Dropbox в виде ipynb
-файла. Получить ipynb
-файл можно, выбрав в Jupyter пункт меню File → Download as... → Notebook (.ipynb).
Алгоритм работы:
ipynb
-файл с домашним заданием.# YOUR CODE HERE
.Файл polit.xlsx
— сокращенная версия файла PetersMcGuireData.xlsx
, взятого со страницы James W.McGuire, Data used in “Authoritarianism in the Middle East”. Файл можно скачать по ссылке.
Переменные:
ctry
: Country;fh09
: Freedom House Index, ranging from 1 (most) to 7 (fewest) political rights and civil liberties, 2009;polity09
: Polity2 score, ranging from -10 to +10, latter most democratic, 2009;gini
: Gini index of income inequality, 2000-2010;fparl08
: Female share of seats in parliament in %, 2008;mena
: Middle East and North Africa (1 – yes, 0 – no);lati
: Latin America (1 – yes, 0 – no);cari
: Caribbean, former British, French, Dutch colony (1 – yes, 0 – no);east
: East Asia (1 – yes, 0 – no);sovi
: Former Soviet Bloc (1 – yes, 0 – no);afri
: Africa (1 – yes, 0 – no);corr0509
– Control of Corruption, average 2005-2009.Загрузите таблицу из файла polit.xlsx
и сохраните ее в переменную df
. Используйте функцию read_excel()
.
### YOUR CODE HERE
Выведите общую информацию по таблице: число строк и столбцов, типы данных в таблице.
### YOUR CODE HERE
Если в таблице есть строки с пропущенными значениями, удалите их. Сохраните изменения в df
.
### YOUR CODE HERE
Выведите на экран описательные статистики по всем количественным переменным в таблице. Выберите какой-нибудь интересующий вас столбец и проинтерпретируйте описательные статистики по нему (т.е. опишите «обычными» словами, что значат значения типа min
, std
, 50%
и так далее).
### YOUR CODE HERE
Выберите в таблице строки, которые соответствуют странам со значениями индекса от Freedom House (fh09
) выше 5. Сохраните их в переменную not_free
.
### YOUR CODE HERE
Выберите в таблице строки, которые соответствуют странам Африки (afri
) с процентом женщин в парламенте выше 30% (fparl08
).
### YOUR CODE HERE
Выберите в таблице строки, которые соответствуют странам Африки или Латинской Америки (afri
и lati
) со значением polity09
больше или равным 8.
### YOUR CODE HERE
Отсортируйте строки в таблице в соответствии со значениями столбца со средними значениями индекса Control of Corruption (corr0509
) по убыванию и выведите: первые 10 строк; последние 10 строк. Используйте метод .sort_values()
.
Пример:
df.sort_values('column_name', ascending = False) # ascend - возрастать
### YOUR CODE HERE
Добавьте в df
столбец corr_round
, в котором будут храниться округленные до 2 знака после запятой значения индекса Control of Corruption (corr0509
).
### YOUR CODE HERE
### YOUR CODE HERE
Сгруппируйте строки в таблице в соответствии со значениями столбца fh_status
, полученного в предыдущей задаче и выведите минимальное, среднее и максимальное значение показателя gini
(индекс Джини) по каждой группе.
### YOUR CODE HERE
Сгруппируйте строки в таблице в соответствии со значениями столбца fh_status
и запишите строки, относящиеся к разным группам, в отдельные csv-файлы.
Подсказка: используйте цикл for
и перебирайте в нем пары «название группы-датафрейм». Попробуйте запустить следующий код и посмотреть, что получится:
for name, table in df.groupby('fh_status'):
print(name, table.head(2))
### YOUR CODE HERE
Сочетая функционал pandas
и matplotlib
, постройте диаграмму рассеяния (scatterplot) для пары показателей fh09
и corr0509
. Поменяйте тип точек (маркер) и цвет точек. Добавьте заголовок к графику.
### YOUR CODE HERE