Домашнее задание №5#

Warning

Это домашнее задание требуется оформить в виде блокнота jupyter. Хостом может выступать как ваш ноутбук, так и удаленный сервер (в том числе и google colab).

Все данные располагаются в папке.

Звёзды#

В таблице stars.csv содержится информация о 240 звёзд.

Задание:

  1. обработать значения в столбце с цветом: привести значения в этом столбце к общему виду (в частности, значения ‘Blue white’, ‘Blue White’ и ‘Blue-white` должны совпадать;

  2. добавить столбец, в котором тип звезды указан полной строкой, а не числом;

  3. для столбца со спектральным классом, наоборот, добавить столбец с числами, в следующем соответствии:

    • O \(\to\) 0,

    • B \(\to\) 1,

    • A \(\to\) 2,

    • F \(\to\) 3,

    • G \(\to\) 4,

    • K \(\to\) 5,

    • M \(\to\) 6;

  4. посчитать количество звезд каждого цвета, каждого типа и каждого спектрального класса;

  5. среди звезд каждого типа найти минимальные, средние и максимальные значения абсолютной звездной величины;

  6. среди звезд каждого класса найти минимальные, средние и максимальные значения температуры;

  7. вычислить попарные корреляции между всеми числовыми столбцами;

Солнечные пятна#

В таблице sunspot.csv содержит данные о наблюдениях солнечных пятен с 1818 года.

  • year — год наблюдения;

  • month — месяц наблюдения;

  • day — день наблюдения;

  • Number of spots — суммарное количество солнечных пятен, замеченных в этот день. В столбце приводится среднее значение, если есть данные о наблюдениях от разных обсерваторий. Если данных за этот день нет, то в столбце ставится значение -1;

  • Standard Deviation — среднеквадратическое отклонение наблюдений с разных станций; Если данных за этот день нет, то в столбце ставится значение -1;

  • Observations — количество станций, доложивших наблюдения за этот день;

Задание:

  1. Скомбинировать первые три столбца в столбец с полной датой типа datetime;

  2. Заменить все -1, соответствующие отсутствующим значениям, на np.nan (или сделать это ещё на этапе чтения таблицы);

  3. Для каждого года вычислить суммарное количество следующих величин:

    • количество дней, за которое присутствуют данные;

    • суммарное количество пятен;

  4. Построить графики этих величин;

  5. На основе данных только за 21 век вычислить среднее количество пятен в месяц и построить столбчатую диаграмму (barplot, barchart).

Баскетболисты NBA#

В таблице NBA.csv находятся физиологические данные 4550 баскетболистов NBA, собранные в период с 1947 по 2017.

  • Player Full Name — имя баскетболиста;

  • Birth Date — дата рождения;

  • Year Start — год начала карьеры;

  • Year End — год завершения карьеры;

  • Position — позиция игрока:

    • F — нападающий;

    • G — защитник;

    • C — центровой;

    • G-F — на протяжении карьеры выступал и на позиции защитника и на позиции нападающего;

    • F-C — на протяжении карьеры выступал и на позиции нападающего и на позиции центрового;

  • Height — рост в сантиметрах;

  • Wingspan — размах рук в сантиметрах;

  • Weight — вес в фунтах (0.45359237 кг);

Задание:

  1. перевести вес в килограммы;

  2. найти самого высокого и самого низкого игрока;

  3. найти самого легкого и тяжелого игрока;

  4. найти игроков с самым маленьким и самым большим размахом рук;

  5. найти корреляции между столбцами с ростом, весом и размахом рук; построить диаграмму рассеяния (scatter plot) для этих показателей (опционально, если знакомы с линейной регрессией и инструментами для её вычисления в python, можно добавить график линейной регрессии);

  6. добавить столбец с продолжительностью карьеры;

  7. добавить столбец с индексом массы тела;

  8. исследовать, как зависят средняя продолжительность карьеры, средний рост, средний вес и средний размах рук в зависимости от позиции (построить графики);

  9. исследовать, как меняются те же самые показатели с течением времени (построить графики);