API · Pandas

Función Pandas DataFrame DataFrame.median()

La función DataFrame median() calcula la mediana de los valores del objeto DataFrame sobre el eje especificado.

La función Python Pandas DataFrame.median() calcula la mediana de los elementos del objeto DataFrame sobre el eje especificado.

La mediana no es mean, sino la mitad de los valores de la lista de números.

Pandas DataFrame mediana

Sintaxis de pandas.DataFrame.median():

DataFrame.median(axis=None, skipna=None, level=None, numeric_only=None, **kwargs)

Parámetros

axis encontrar la mediana a lo largo de la fila (axis=0) o fila (axis=1)
skipna Booleana. Excluir los valores NaN (skipna=True) o incluir los valores NaN (skipna=False)
level Cuenta junto con el nivel particular si el eje es MultiIndex.
numeric_only Booleana. Para numeric_only = True, incluye sólo las columnas float, int y boolean.
**kwargs Argumentos de palabras clave adicionales a la función.

Retorna

Si no se especifica el level, devuelve Series de la mediana de los valores del eje solicitado, si no, devuelve DataFrame de los valores de la mediana.

Códigos de ejemplo: DataFrame.median() Método para encontrar la mediana a lo largo del eje de la columna

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9]})
print("DataFrame:")
print(df)

medians=df.median()
print("medians of Each Column:")
print(medians)

Resultado:

DataFrame:
    X  Y
0   1  4
1   2  3
2   7  8
3   5  2
4  10  9
medians of Each Column:
X    5.0
Y    4.0
dtype: float64

Calcula la mediana de ambas columnas X y Y y finalmente devuelve un objeto Series con la mediana de cada columna.

Para encontrar la mediana de una columna particular de DataFrame en Pandas, llamamos a la función median() sólo para esa columna.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9]})
print("DataFrame:")
print(df)

medians=df["X"].median()
print("medians of Each Column:")
print(medians)

Resultado:

DataFrame:
    X  Y
0   1  4
1   2  3
2   7  8
3   5  2
4  10  9
medians of Each Column:
5.0

Sólo da la mediana de los valores de la columna X de DataFrame.

Códigos de ejemplo: DataFrame.median() Método para encontrar la mediana a lo largo del eje de la fila

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9],
                   'Z': [2, 7, 6, 10, 5]})
print("DataFrame:")
print(df)

medians=df.median(axis=1)
print("medians of Each Row:")
print(medians)

Resultado:

DataFrame:
    X  Y   Z
0   1  4   2
1   2  3   7
2   7  8   6
3   5  2  10
4  10  9   5
medians of Each Row:
0    2.0
1    3.0
2    7.0
3    5.0
4    9.0
dtype: float64

Calcula la mediana de todas las filas y finalmente devuelve un objeto Series con la mediana de cada fila.

Para encontrar la mediana de una fila particular de DataFrame en Pandas, llamamos a la función median() sólo para esa fila.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, 5, 10],
                   'Y': [4, 3, 8, 2, 9],
                   'Z': [2, 7, 6, 10, 5]})

print("DataFrame:")
print(df)

median=df.iloc[[0]].median(axis=1)
print("median of 1st Row:")
print(median)

Resultado:

DataFrame:
    X  Y   Z
0   1  4   2
1   2  3   7
2   7  8   6
3   5  2  10
4  10  9   5
median of 1st Row:
0    2.0
dtype: float64

Sólo da la mediana de los valores de la primera fila de DataFrame.

Usamos el método iloc para seleccionar filas basadas en el índice.

Códigos de ejemplo: DataFrame.median() Método para encontrar la mediana ignorando los valores NaN

Usamos el valor por defecto del parámetro skipna, es decir, skipna=True para encontrar la mediana de DataFrame a lo largo del eje especificado, ignorando los valores NaN.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, None, 10, 8],
                   'Y': [None, 3, 8, 2, 9, 6],
                   'Z': [2, 7, 6, 10, None, 5]})

print("DataFrame:")
print(df)

median=df.median(skipna=True)
print("medians of Each Row:")
print(median)

Resultado:

DataFrame:
      X    Y     Z
0   1.0  NaN   2.0
1   2.0  3.0   7.0
2   7.0  8.0   6.0
3   NaN  2.0  10.0
4  10.0  9.0   NaN
5   8.0  6.0   5.0
medians of Each Row:
X    7.0
Y    6.0
Z    6.0
dtype: float64

Si establecemos skipna=True, ignora el NaN en el dataframe. Nos permite calcular la mediana del DataFrame a lo largo del eje de la columna ignorando los valores NaN.

import pandas as pd

df = pd.DataFrame({'X': [1, 2, 7, None, 10],
                   'Y': [5, 3, 8, 2, 9],
                   'Z': [2, 7, 6, 10, 4]})

print("DataFrame:")
print(df)

median=df.median(skipna=False)
print("medians of Each Row:")
print(median)

Resultado:

DataFrame:
      X  Y   Z
0   1.0  5   2
1   2.0  3   7
2   7.0  8   6
3   NaN  2  10
4  10.0  9   4
medians of Each Row:
X    NaN
Y    5.0
Z    6.0
dtype: float64

Aquí, obtenemos el valor NaN para la mediana de la columna X, ya que la columna X tiene el valor NaN presente en ella.