---
# System prepended metadata

title: Python for neural networks

---

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 + линтер) будет подсказка в виде документаии для каждой функции
![](https://i.imgur.com/OpSiWda.png)

## 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))
```

