Изучить основные возможности библиотеки Numpy. Изучить основные операции с массивами ndarray. Изучить средства модуля linalg. Ознакомиться с основными принципами разработки приложений в IPython Notebook (Jupyter).
Шаг 1. (Массивы в Numpy) Скачайте ноутбук с содержанием Лекции 2 Lecture_2.ipynb (версия html). Запустите Jupyter с помощью команды jupyter notebook в командной оболочке bash. Или загрузитесь в jupyter через web-интерфейс здесь, нажмите кнопку Try it in your browser, а затем сделайте upload файла Lecture_2.ipynb.
Используя материалы лекции и документацию создайте ноутбук с решением следующих задач. Сохраните ноутбук в рабочей директории с расширением *.ipynb и *.html
# | Задачи на массивы в numpy |
---|---|
1 | Написать функцию select_even(arr), принимающую на вход массив целых чисел arr и возвращающую новый массив, который состоит из всех чётных элементов arr. |
2 | Написать функцию wipe_even(arr, target_value, in_place), принимающую на вход массив целых чисел arr, и возвращающую массив, полученный из arr путём замены всех чётных элементов на target_value. Если target_value не указано, то оно должно считаться равным числу 0. Если указан параметр in_place и он равен True, то функция должна менять исходный массив, а если не указан или указан в False, то сохранять его неизменным. |
3 |
В некотором царстве, в некотором государстве, налог на доходы физических лиц вычисляется следующим образом. Базовая ставка налога составляет 13%. Если в каком-то месяце ваш заработок за год составит больше тысячи тугриков, то на оставшуюся часть года (не включая этот месяц) устанавливается ставка в 20%. Например, если вы зарабатываете каждый месяц 150 тугриков, то к июлю заработаете 150x7=1050
тугриков и начиная с августа подоходный налог будет начисляться по ставке 20%. Написать функцию calculate_tax(income), принимающую на вход массив, содержащий доход за каждый месяц года, начиная с первого и возвращающую общую сумму налога, который предстоит заплатить за год. Год в некотором царстве может длиться более 12 месяцев, если по этому поводу будет принят соответствующий высочайший декрет.
Для решения задачи можно использовать функцию np.cumsum(). Чтобы создать новый массив, длина которого равна длине какого-то другого, можно использовать функции np.zeros_like() или np.ones_like(). |
Шаг 2. (Популяция пятнистых сов) Изучите пример исследования динамики популяции пятнистых сов из файла Spotted_owls.ipynb (версия html). Используя материалы Lecture_3.ipynb (версия html) вставьте свои решения для заданий, отмеченных в комментариях. Сохраните ноутбук в двух форматах *.ipynb и *.html.
Шаг 3. (Исследование) По аналогии с Шагом 2 выполните задания из файла Questions.ipynb (версия html). Решения и выводы сохраните в ноутбуке с заданием.
Шаг 4. (Визуализация)
Для модели "сбора урожая" из Шага 3 выполните визуализацию динамики численности с выемкой и без для популяций северной пятнистой совы, синего кита и ольхи