Библиотека Numpy предоставляет функции для расчета простых статистик: среднее значение, медиана, стандартное отклонение и т.п. Вопросу использования данных функций посвящен этот урок.
- Введение
- Размерность массива
- Общие правила при работе с массивами Numpy
- Функции (методы) для расчета статистик в Numpy
Введение
Импортируйте библиотеку Numpy, если вы еще этого не сделали.
>>> import numpy as np
Для начала создадим матрицу, которая нам понадобится в работе.
>>> m = np.matrix('1 2 3 4; 5 6 7 8; 9 1 5 7') >>> print(m) [[1 2 3 4] [5 6 7 8] [9 1 5 7]]
В этом случае будет создан объект типа matrix.
>>> type(m) <class 'numpy.matrixlib.defmatrix.matrix'>
Если вы уже работали с Numpy, это может для вас быть чем-то новым. В Numpy, как правило, приходится работать с объектами класса ndarray. Мы выбрали matrix из-за удобства объявления массива, т.к. matrix позволяет использование Matlab-подобный стиль, и, наверное, вам будет интересно познакомиться с чем-то новым. Для задач, рассматриваемых в рамках данной статьи, объекты matrix и ndarray одинаково хорошо подходят. Matix можно превратить в ndarray вот так:
>>> m = np.array(m) >>> type(m) <class 'numpy.ndarray'>
В любом случае наша таблица чисел будет выглядеть следующим образом.
Размерность массива
Для определения размерности массива Numpy используйте атрибут shape.
>>> m.shape (3, 4)
В результате мы получим кортеж из двух элементов, первый из них – это количество строк, второй – столбцов.
Общие правила при работе с массивами Numpy
Перед тем, как перейти к описанию функций расчета статистик необходимо, чтобы вы запомнили несколько важных вещей, касательно функций и массивов Numpy.
Вызов функции расчета статистики
Для расчета той или иной статистики, соответствующую функцию можно вызвать как метод объекта, с которым вы работаете. Для нашего массива это будет выглядеть так.
>>> m.max() 9
Тот же результат можно получить вызвав библиотечную функцию с соответствующим именем, передав ей в качестве аргумента массив.
>>> np.max(m) 9
Расчет статистик по строкам или столбцам массива
Вызовем функцию вычисления статистики (максимальный элемент) без аргументов.
>>> m.max() 9
В этом случает будут обработаны все элементы массива.
Если необходимо найти максимальный элемент в каждой строке, то для этого нужно передать в качестве аргумента параметр axis=1.
>>> m.max(axis=1) matrix([[4], [8], [9]])
Для вычисления статистики по столбцам, передайте в качестве параметра аргумент axis=0.
>>> m.max(axis=0) matrix([[9, 6, 7, 8]])
Функции (методы) для расчета статистик в Numpy
Ниже, в таблице, приведены методы объекта ndarray (или matrix), которые, как мы помним из раздела выше, могут быть также вызваны как функции библиотеки Numpy, для расчета статистик по данным массива.
Имя метода | Описание |
argmax | Индексы элементов с максимальным значением (по осям) |
argmin | Индексы элементов с минимальным значением (по осям) |
max | Максимальные значения элементов (по осям) |
min | Минимальные значения элементов (по осям) |
mean | Средние значения элементов (по осям) |
prod | Произведение всех элементов (по осям) |
std | Стандартное отклонение (по осям) |
sum | Сумма всех элементов (по осям) |
var | Дисперсия (по осям) |
Вычислим некоторые из представленных выше статистик.
>>> m.mean() 4.833333333333333 >>> m.mean(axis=1) matrix([[2.5], [6.5], [5.5]]) >>> m.sum() 58 >>> m.sum(axis=0) matrix([[15, 9, 15, 19]])
P.S.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. На нашем сайте вы можете найти вводные уроки по этой теме. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”.
<<<Библиотека Numpy. Использование boolean массива для доступа к ndarray — Библиотека numpy. Работа с массивами. Слайсы>>>