**Во-первых**, нужно установить сборку питона под названием анаконда с сайта https://www.continuum.io/downloads (брать версию для python 3.5, версию для x64, если у вас 64-х битная ось)
**Во-вторых**, рекомендуется переходить на IDE ((https://www.jetbrains.com/pycharm/download/#section=windows PyCharm)), который имеет достаточно много фич, которые нам будут удобны. Основные -- это большое количество подсказок в процессе написания кода. Основные hot key: Ctrl+Alt+E -- выполнить выделенный код в консоли Shift+Ctrl+F10 -- запустить текущий скрипт целиком в отдельном процессе
**Ссылки по теме:** Если вы знаете английски, то лучше всего подойдёт оригинальный tutorial: https://docs.scipy.org/doc/numpy-dev/user/quickstart.html
Иначе можно начать со странички https://pythonworld.ru/numpy/1.html
----
----
==Задачи== 01. Массив нулей На вход даётся число n. Выведите массив нулей n на n
02. Числа на диагонали На вход даётся число n. Выведите массив размера n на n, в котором по диагонали идут числа 0 до n-1, а остальные числа равны 0
03. Числа в нулевой строке На вход даётся число n. Выведите массив размера n на n, в котором в первой строчке идут числа от 0 до n-1, а остальные числа равны 0
04. Сбитый прицел На вход даётся числа n, r, c. Выведите массив размера n на n, в котором в строке r и столбце c стоят 1, а остальные числа равны 0
05. Почётные единицы На вход даётся число n. Выведите массив размера n на n, в котором в чётных строчках стоят 1, а в нечётных --- нули
06. Решето На вход даётся числа n, r, c. Выведите массив размера n на n, в котором в котором в каждой R-ой строчке и в каждом C-ом столбце стоят 1
07. Шахматы единиц На вход даётся число n. Выведите массив размера n на n, имеющий вид шахматной доски.
08. Разлиновка На вход даётся число n. В следующей строке идёт несколько чисел. Выведите массив размера n на n, в котором в строках с перечисленными выше индексами стоят 1.
09. Порядок индексов Даны числа w и h --- ширина и высота картинки в пикселях. Создайте подходящий массив, в котором можно хранить трёхцветную картинку данной ширины и высоты. При этом данные в памяти должны храниться так, чтобы сначала шли три цвета одного пикселя, затем цвета следующего пикселя в этой же строчке или первый пиксель из следующей строчки.
10. Картинки Скачайте картинки: file:/30x60g.png и file:/30x60c.png. Прочитайте их в numpy-массив при помощи команд вида ##from skimage import io## ##img = io.imread('30x60g.png')## Сохранять изменённые картинки можно при помощи команды ##from skimage import io## ##io.imsave('res.png', img)## Извлеките из цветной картинки только зелёный слой и сохраните в отдельный файл.
11. Состыковка Состыкуйте две ч/б картинки так, чтобы получилась картинка 60х60, и 30х120. Сохраните их в отдельные файлы. Сделайте то же самое с цветными картинками.
12. Вставка Добавьте в ч/б картинку по центру белую вертикальную полосу шириной в 10 пикселей. Сохраните картинку в отдельный файл. Добавьте ещё и горизонтальную серую полосу. Теперь в цветную картинку добавьте зелёную вертикальную полосу и красную горизонтальную (каждую по центру, шириной 10 пикселей)
13. Удаление Удалите из картинок центральную полосу шириной в 10 пикселей (всё аналогично 12-й задаче).
14. Отрезок Создайте белую картинку 100х100 пикселей. Проведите на ней отрезок из точки (x1,y1) в точку (x2,y2). Сохраните картинку в файл (или нагуглите, как её показать прямо из программы).
15. Случайное подмножество строк Дан массив размера HxW и число k. Отберите случайные k строк из массива и сформируйте из них массив размера kxW.
16. Перемешать строки Перемешайте случайным образом строки прямоугольного массива
17. Индекс в массиве Дан массив размерности (6,7,8). Каков индекс (x,y,z) сотого элемента?
18. Поменять знак Дан массив, поменять знак у элементов, значения которых между 3 и 8
19. Заменить все максимумы Дан массив. Заменить все значения, равные максимальному, на -1.
20. Ближайшее Найти ближайшее к заданному значению число в заданном массиве
21. Сортировка Отсортировать данный линейный массив
22. argsort Для каждого элемента данного линейного массива найдите позицию, на которую он попадёт, если массив отсортировать
23. argsort - 2 Даны три линейных массива длины N. В первом массиве хранятся стоимости брусков, во втором - длины, а в третьем - массы. Отсортируйте массивы так, чтобы данные по брускам шли в порядке возрастания стоимости.
24. Нормировка Дан массив действительных чисел. Отнормируйте (X -> aX+b) его так, чтобы все числа лежали на отрезке [0,1] и значения 0 и 1 принимались. Гарантируется, что в массиве есть хотя бы два различных числа.
---- адрес оригинала: ((/Информатика/Архив/2017/11Б1/numpy))