API · Pandas

Funzione Pandas DataFrame DataFrame.median()

La funzione DataFrame median() calcola la mediana dei valori dell'oggetto DataFrame sull'asse specificato.

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.