Pandas DataFrame DataFrame.median() Função

Jinku Hu 30 janeiro 2023
  1. Sintaxe de pandas.DataFrame.median():
  2. Códigos de exemplo: DataFrame.median() Método para encontrar a mediana ao longo do eixo da coluna
  3. Códigos de exemplo: DataFrame.median() Método para encontrar a mediana ao longo do eixo da linha
  4. Códigos de exemplo: DataFrame.median() Método para encontrar a mediana ignorando os valores NaN
Pandas DataFrame DataFrame.median() Função

A função Python Pandas DataFrame.median() calcula a mediana dos elementos do objeto DataFrame ao longo do eixo especificado.

A mediana não é mean, mas o meio dos valores na lista de números.

Pandas DataFrame median

Sintaxe de pandas.DataFrame.median():

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

Parâmetros

axis encontrar mediana ao longo da linha (axis=0) ou coluna (axis=1)
skipna Booleano. Excluir valores NaN (skipna=True) ou incluir valores NaN (skipna=False)
level Conte junto com um nível particular se o eixo for MultiIndex.
numeric_only Booleano. Para colunas numeric_only=True, incluir apenas colunas float, int, e boolean.
**kwargs Argumentos adicionais de palavras-chave para a função.

Retornar

Se o level não for especificado, retornar Series da mediana dos valores para o eixo solicitado, caso contrário, retornar DataFrame dos valores da mediana.

Códigos de exemplo: DataFrame.median() Método para encontrar a mediana ao longo do eixo da coluna

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

Ele calcula a mediana para ambas as colunas X e Y e finalmente retorna um objeto Series com a mediana de cada coluna.

Para encontrar a mediana de uma coluna específica de DataFrame em Pandas, chamamos a função median() somente para aquela coluna.

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

Ela fornece apenas a mediana dos valores da coluna X de DataFrame.

Códigos de exemplo: DataFrame.median() Método para encontrar a mediana ao longo do eixo da linha

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

Ele calcula a mediana de todas as linhas e finalmente retorna um objeto Series com a mediana de cada linha.

Para encontrar a mediana de uma determinada linha de DataFrame em Pandas, chamamos a função median() somente para essa linha.

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

Ela fornece apenas a mediana dos valores da 1ª linha de DataFrame.

Utilizamos o método iloc para selecionar linhas com base no índice.

Códigos de exemplo: DataFrame.median() Método para encontrar a mediana ignorando os valores NaN

Utilizamos o valor padrão do parâmetro skipna, ou seja, skipna=True para encontrar a mediana de DataFrame ao longo do eixo especificado, ignorando os 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

Se definirmos skipna=True, ele ignora a NaN no campo de dados. Isto nos permite calcular a mediana de DataFrame ao longo do eixo da coluna, ignorando os 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

Aqui, obtemos o valor NaN para a mediana da coluna X, pois a coluna X tem o valor NaN presente nela.

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

Artigo relacionado - Pandas DataFrame