Python for neural networks
=========
## Начало
### Чистая установка:
Скачиваем:
Python
https://www.python.org/downloads/
IDE по выбору (VS Code - хороша и подскажет, чего не хватает)
https://code.visualstudio.com/
Официальная документация по python **помогает** очень **часто**
https://docs.python.org/3.8/index.html
пакеты устанавливаются (numpy как пример, заменяем на любой):
`python -m pip install -U numpy --user`
### Другой вариант с Miniconda:
Советуют разработчики курса
устанавливаем
https://docs.conda.io/en/latest/miniconda.html
потом:
`conda install numpy`
IDE по выбору
### winpython установка сразу всего готовым пакетом
https://winpython.github.io/
### советы
если установить расширения VSCode (Python + линтер) будет подсказка в виде документаии для каждой функции

## NumPy: основы
официальная документация numpy:
https://docs.scipy.org/doc/numpy/reference/index.html
### Создайте и напечатайте
массив класса `np.ndarray` ширины 4 и высоты 3 с двойками на главной диагонали и единицами на первой диагонали над главной, т.е. воплощение матрицы
```python=
import numpy as np #подключаем библиотеку
print(np.eye(3,4)*2 + np.eye(3,4, k=1))
```
`np.eye(N, M=N, k=0)` - обращаемся к классу np для создания двумерного массив с N строками с единицами на диагонали и нулями во всех остальных позициях. Число столбцов M по умолчанию равно N, k — сдвиг диагонали
### считайте данные из файла и посчитайте их средние значения.
`urllib.request` - библиотека для открытия веб адресов,
берём от туда метод `urlopen`
`np.loadtxt` - загружает данные из файла в питонический объект
`sbux = np.loadtxt(f,skiprows=1,delimiter=",")`
f - объект файла от urlopen
skiprows - пропускаем 1 строчку т.к. там названия столбцов
delimiter - разделитель, стандарт csv (таблица данных разделённых запятой)
`array.mean(axis=0)` - среднее арифметическое вдоль указанной оси
```python=
from urllib.request import urlopen
import numpy as np
filename = input() # получаем ссылку из stdin по условию
f = urlopen(filename)
# f = urlopen('https://stepic.org/media/attachments/lesson/16462/boston_houses.csv')
# print(f.read())
# b'"medv","crim","zn","chas","nox","rm","dis"\n24,0....
sbux = np.loadtxt(f,skiprows=1,delimiter=",")
print(sbux.mean(axis=0))
```