Funzione Pandas DataFrame DataFrame.median()

Jinku Hu 30 gennaio 2023
  1. Sintassi di pandas.DataFrame.median():
  2. Codici di esempio: Metodo DataFrame.median() per trovare la mediana lungo l’asse delle colonne
  3. Codici di esempio: Metodo DataFrame.median() per trovare la mediana lungo l’asse di riga
  4. Codici di esempio: metodo DataFrame.median() per trovare la mediana ignorando i valori NaN
Funzione Pandas DataFrame DataFrame.median()

La funzione Python Pandas DataFrame.median() calcola la mediana degli elementi dell’oggetto DataFrame lungo l’asse specificato.

La mediana non è mean, ma la metà dei valori nell’lista dei numeri.

Pandas DataFrame mediana

Sintassi di pandas.DataFrame.median():

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

Parametri

axis trova la mediana lungo la riga (axis = 0) o la colonna (axis = 1)
skipna Booleano. Escludi i valori NaN (skipna=True) o includi i valori NaN (skipna=False)
level Conta insieme a un livello particolare se l’asse è MultiIndex
numeric_only Booleano. Per numeric_only=True, includi solo le colonne float, int e boolean
**kwargs Argomenti di parole chiave aggiuntivi per la funzione.

Ritorno

Se il livello non è specificato, restituisce Series della mediana dei valori per l’asse richiesto, altrimenti restituisce DataFrame dei valori mediani.

Codici di esempio: Metodo DataFrame.median() per trovare la mediana lungo l’asse delle colonne

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)

Produzione:

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

Calcola la mediana per entrambe le colonne X e Y e infine restituisce un oggetto Series con la mediana di ciascuna colonna.

Per trovare la mediana di una particolare colonna di DataFrame in Pandas, chiamiamo la funzione median() solo per quella colonna.

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)

Produzione:

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

Fornisce solo la mediana dei valori della colonna X di DataFrame.

Codici di esempio: Metodo DataFrame.median() per trovare la mediana lungo l’asse di riga

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)

Produzione:

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

Calcola la mediana per tutte le righe e infine restituisce un oggetto Series con la mediana di ogni riga.

Per trovare la mediana di una particolare riga di DataFrame in Pandas, chiamiamo la funzione median() solo per quella riga.

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)

Produzione:

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

Fornisce solo la mediana dei valori della prima riga di DataFrame.

Usiamo il metodo iloc per selezionare le righe in base all’indice.

Codici di esempio: metodo DataFrame.median() per trovare la mediana ignorando i valori NaN

Usiamo il valore predefinito del parametro skipna cioè skipna=True per trovare la mediana di DataFrame lungo l’asse specificato ignorando i valori 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)

Produzione:

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 impostiamo skipna=True, ignora il NaN nel dataframe. Ci permette di calcolare la mediana di DataFrame lungo l’asse della colonna ignorando i valori di 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)

Produzione:

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

Qui, otteniamo il valore NaN per la mediana della colonna X poiché la colonna X ha il valore NaN presente in essa.

Autore: 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

Articolo correlato - Pandas DataFrame