Python es uno de los lenguajes de pro­gra­ma­ción más uti­li­za­dos para el análisis es­ta­dí­s­ti­co y el de­sa­rro­llo de la in­te­li­ge­n­cia ar­ti­fi­cial. Así que no es de extrañar que Python tenga muchos métodos y módulos para ayudarte a procesar grandes ca­n­ti­da­des de datos. Aquí exa­mi­na­re­mos el Python mean o la media de Python, un método que te permite de­te­r­mi­nar el valor medio de varios números.

¿Qué es el método Python mean?

Sintaxis y fu­n­cio­na­li­da­des

El método Python mean es sencillo: reúne un conjunto de números y te devuelve su media. Los números deben estar resumidos en una lista como único argumento. Se pueden utilizar tanto números enteros como de coma flotante. El resultado del cálculo siempre sale como un número de coma flotante. Observa su sintaxis y fu­n­cio­na­mie­n­to en el siguiente ejemplo.

import numpy as np
x = np.mean([1, 3, 2])
numbers = [1, 1.3, 4, 2.1, 1.0]
y = np.mean(numbers)
print(x)     # output: 2.0
print(y)     # output: 1.8800000000000001
Python

Como puedes ver en el ejemplo anterior, el método funciona exac­ta­me­n­te como lo hemos descrito: toma una lista de números y devuelve su media. Este resultado siempre se muestra como un número de coma flotante, como “np.mean([1, 3, 2])”. El valor medio de estos números es exac­ta­me­n­te 2, aunque se muestre como “2.0”. Además, este ejemplo muestra que puedes pasar la lista di­re­c­ta­me­n­te o como una variable ya creada.

De este ejemplo se pueden extraer otros dos detalles im­po­r­ta­n­tes sobre el método Python mean. El primero se refiere a la precisión de los números de coma flotante y el segundo al módulo “NumPy”.

Vi­sua­li­zar números de coma flotante

Si haces ma­nua­l­me­n­te el segundo cálculo del ejemplo anterior, obtendrás exac­ta­me­n­te 1,88. Aunque el programa no muestre este resultado. Esto se debe a cómo se re­pre­se­n­tan los números de coma flotante en el sistema numérico binario, en el que se basan todas las ca­l­cu­la­do­ras modernas. Al igual que en el sistema decimal ordinario hay algunos números fra­c­cio­na­rios que no pueden re­pre­se­n­tar­se con precisión en el sistema binario. Un ejemplo de esto en el sistema decimal es 0,3333…. Siempre puedes añadir otro 3, pero nunca puedes llegar exac­ta­me­n­te a un tercio.

Aunque este problema es in­e­vi­ta­ble, la precisión de los números de coma flotante es lo su­fi­cie­n­te­me­n­te alta como para que no suponga una gran di­fe­re­n­cia en la mayoría de los casos. Aun así, es bueno tener en cuenta estos problemas de precisión cuando trabajes con números de coma flotante.

El módulo NumPy

Como puedes ver en el ejemplo anterior, el método Python mean no pertenece a la bi­blio­te­ca estándar de Python. Para utilizar este método, tienes que im­po­r­tar­lo desde un módulo externo, como “NumPy” o “sta­ti­s­ti­cs”. Puede que necesites instalar estos módulos, pero una vez hecho esto, puedes in­te­grar­los fá­ci­l­me­n­te. Para ello, sólo tienes que añadir la línea de código “import numpy” al principio de tu programa. Otra po­si­bi­li­dad, si en el futuro quieres hacer re­fe­re­n­cia al módulo con un nombre diferente, es escribir “import numpy as x”, donde “x” es el nombre que desees.

Consejo

¿Quieres publicar tu apli­ca­ción web de forma rápida, sencilla e incluso di­re­c­ta­me­n­te a través de Git? En ese caso, Deploy Now de IONOS te ofrece la solución ideal.

Al­te­r­na­ti­vas a la media Python

Como ya hemos dicho, el método mean no pertenece a la bi­blio­te­ca estándar de Python, sino a módulos externos como “NumPy” que debes importar. Si no es posible o no quieres hacerlo, también puedes im­ple­me­n­tar tú mismo el método mean. Todo lo que tienes que hacer es escribir unas pocas líneas de código:

def mean(numbers):
    return sum(numbers)/len(numbers)
Python

Los métodos “sum” y “len” uti­li­za­dos aquí están in­te­gra­dos en la bi­blio­te­ca estándar de Python, lo que significa que no necesitas im­po­r­tar­los. Como puedes ver en el siguiente ejemplo, im­ple­me­n­tar­lo funciona exac­ta­me­n­te igual que “mean” de “numpy”.

def mean(numbers):
    return sum(numbers)/len(numbers)
x = mean([1, 3, 2])
numbers = [1, 1.3, 4, 2.1, 1.0]
y = mean(numbers)
print(x)    # output: 2.0
print(y)    # output: 1.8800000000000001
Python
Nota

Además de métodos como “mean”, los ope­ra­do­res de Python tienen una función esencial en el tra­ta­mie­n­to de conjuntos de datos. En nuestro artículo sobre el tema, exa­mi­na­mos cada operador y lo que ofrecen.

Casos prácticos de Python mean

Ahora te mo­s­tra­re­mos algunos ejemplos prácticos del método de la media. En el siguiente programa, se pide re­pe­ti­da­me­n­te al usuario que in­tro­du­z­ca un número. Este número se convierte de una cadena en un número entero y se añade a una lista. A co­n­ti­nua­ción, el valor medio de los elementos de esta lista se actualiza co­n­ti­nua­me­n­te y se emite con cada nueva entrada.

import numpy as np
list = []
while(True):
    list.append(int(input('add number to list: ')))
    print(np.mean(liste))
Python

En el siguiente ejemplo, hay tres personas, cada una con una coor­de­na­da “x”, “y” y “z”. Se aplica el método de la media, y se calcula y emite el punto de encuentro de las tres personas.

import numpy as np
# x, y, and z-coordinates of 3 people:
person1 = [1.5, 6.0, 4.2]
person2 = [10.0, 9.0, 7.7]
person3 = [15.5, 0.0, -5.0]
people = [person1, person2, person3]
Average position = []
i = 0
while(i < len(person1)):
    temp = []
    for x in people:
        temp.append(x[i])
    average position.append(np.mean(temp))
    i = i + 1
print(average position)     # output: [9.0, 5.0, 2.3000000000000003]
Python
Ir al menú principal