Función Pandas DataFrame DataFrame.median()

Jinku Hu 30 enero 2023
  1. Sintaxis de pandas.DataFrame.median():
  2. Códigos de ejemplo: DataFrame.median() Método para encontrar la mediana a lo largo del eje de la columna
  3. Códigos de ejemplo: DataFrame.median() Método para encontrar la mediana a lo largo del eje de la fila
  4. Códigos de ejemplo: DataFrame.median() Método para encontrar la mediana ignorando los valores NaN
Función Pandas DataFrame DataFrame.median()

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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook

Artículo relacionado - Pandas DataFrame