CALCULANDO MEDIAS, VARIANZAS Y DESVIACIONES CON «numpy» (ejercicio básico en python).

Buenas, mi nombre es Antonio Alfonso Martínez, y en la presente entrada voy a hablar un poco sobre el módulo «numpy» para «python».

Para quien no lo sepa, «nunpy» es el nombre de un módulo para python, el cual nos permite realizar determinadas operaciones sobre grandes conjuntos de datos, los cuales se distribuyen en «arrays», de una firma mucho más rápida, sencilla y eficiente que la que podemos emplear con el uso de listas. Se trata de un módulo de gran utilidad para hacer operaciones en campos tales como el cálculo científico, la estadística o el cálculo de probabilidades.

Para ilustrar esta idea, en el presente articulo nos disponemos a calcular la media, la varianza y la desviación típica, de un conjunto de datos que nosotros le proporcionaremos.

Al tratarse de una librería externa (que no viene previamente instalada con «python») lo primero que tendremos que hacer será instalarla para poder hacer uso de ella. Para ello haremos uso del modulo «pip». De modo que una vez importado, lo emplearemos para instalar «numpy» en nuestro equipo. Ello lo haremos mediante el siguiente comando:

import_pip

Una vez que tengamos nuestra librería lista para ser usada, el siguiente paso será el de importar nuestro módulo. Puesto que puede ser un poco tedioso escribir «numpy» cada vez que vayamos a hacer uso de el, lo importaremos con el nombre simplificado de «np»:

numpy1

El siguiente paso lógico será el de crear el «array». Que, como ya sabemos, constituye la estructura de datos que vamos a emplear para la realización de operaciones complejas sobre un gran número de datos:

numpy2

Así hemos creado nuestro «array» (representado por una variable a la que hemos dado el nombre de «lista») a partir de una lista de valores (en nuestro caso la lista inicial tiene solo 10 valores, pero conviene recordar que «numpy» despliega más su potencial para los casos en los que se tienen que tratar conjuntos formados por miles de valores). Para la creación del «array», usamos la función «np.array()» que tomará como argumentos, la lista con los valores que vamos a emplear en el calculo y el formato en el cual vamos a operar (en este caso, el decimal, «float»).

Para hacer el calculo de la media, la varianza y la desviación típica de los datos comprendidos en nuestro «array» haremos uso de tres sencillas funciones que tomarán como único argumento el «array» almacenado en la variable «lista».

Para el calculo de la media aritmética de los valores de «lista» (que como sabemos es igual a la suma de dichos valores dividida por su número), vamos a emplear una función contenida en el módulo «numpy», cuyo nombre es «mean», mediante la cual, efectuaremos tal operación de un modo sencillo y rápido:

numpy3

Así después de aplicar «mean» sobre nuestro «array» (aplicación que se almacena en la variable «media») visualizamos el resultado mediante una sentencia «print», obteniendo el resultado de 5,38.

El otro tipo de calculo que queremos efectuar es el relativo al grado de dispersión de los valores de la lista. Es decir: En que grado, cada uno de los valores de la lista, se aparta de la media. Para ello haremos el calculo de la varianza y la desviación típica, lo cual, en «numpy» efectuaremos del mismo modo que el visto para la media, mediante las funciones «var» (para el cálculo de la varianza) y «std» (para el calculo de la desviación típica, que equivale a la raíz cuadrada de la varianza):

numpy

Como se ve en el ejemplo, el módulo «numpy», nos proporciona métodos sencillos para efectuar cálculos (que de otra manera supondría el empleo de más líneas de código) sobre conjuntos de datos que pueden llegar a tener grandes cantidades de información. En futuros artículos expondremos más ejemplos de operaciones con «arrays».

Una versión más elaborada del ejemplo expuesto se puede ver en el siguiente enlace a Github:

https://github.com/antonioam82/media-var-des/tree/master

Saludos.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Deja un comentario