Pandas Asse Significato

Suraj Joshi 25 aprile 2021
Pandas Asse Significato

Questo tutorial spiega il significato del parametro axis utilizzato in vari metodi di oggetti Pandas come DataFrames e Series.

import pandas as pd

empl_df = pd.DataFrame(
    {
        "Name": ["Jon", "Willy", "Mike", "Luna", "Sam", "Aliza"],
        "Age": [30, 33, 35, 30, 30, 31],
        "Weight(KG)": [75, 75, 80, 70, 73, 70],
        "Height(meters)": [1.7, 1.7, 1.85, 1.75, 1.8, 1.75],
        "Salary($)": [3300, 3500, 4000, 3050, 3500, 3700],
    }
)

print(empl_df)

Produzione:

    Name  Age  Weight(KG)  Height(meters)  Salary($)
0    Jon   30          75            1.70       3300
1  Willy   33          75            1.70       3500
2   Mike   35          80            1.85       4000
3   Luna   30          70            1.75       3050
4    Sam   30          73            1.80       3500
5  Aliza   31          70            1.75       3700

Usiamo il DataFrame empl_df per spiegare come usare il parametro axis nei metodi Pandas.

Uso del parametro axis nei metodi Pandas

Il parametro axis specifica la direzione lungo la quale un particolare metodo o funzione viene applicato in un DataFrame. axis=0 rappresenta la funzione applicata per colonna e axis=1 significa che la funzione viene applicata per riga sul DataFrame.

Se applichiamo una funzione per colonna, otterremo un risultato con una singola riga; se applichiamo una funzione per riga, otterremo un DataFrame con una singola colonna.

Esempio: usa axis=0 nei metodi Pandas

import pandas as pd

empl_df = pd.DataFrame(
    {
        "Name": ["Jon", "Willy", "Mike", "Luna", "Sam", "Aliza"],
        "Age": [30, 33, 35, 30, 30, 31],
        "Weight(KG)": [75, 75, 80, 70, 73, 70],
        "Height(meters)": [1.7, 1.7, 1.85, 1.75, 1.8, 1.75],
        "Salary($)": [3300, 3500, 4000, 3050, 3500, 3700],
    }
)
print("The Employee DataFrame is:")
print(empl_df, "\n")

print("The DataFrame with mean values of each column is:")
print(empl_df.mean(axis=0))

Produzione:

The Employee DataFrame is:
    Name  Age  Weight(KG)  Height(meters)  Salary($)
0    Jon   30          75            1.70       3300
1  Willy   33          75            1.70       3500
2   Mike   35          80            1.85       4000
3   Luna   30          70            1.75       3050
4    Sam   30          73            1.80       3500
5  Aliza   31          70            1.75       3700

The DataFrame with mean values of each column is:
Age                 31.500000
Weight(KG)          73.833333
Height(meters)       1.758333
Salary($)         3508.333333
dtype: float64

Calcola la media per colonna del DataFrame empl_df. La media viene calcolata solo per colonne con valori numerici.

Se impostiamo axis=0, calcolerà la media di ciascuna colonna calcolando la media dei valori di riga per quella particolare colonna.

Esempio: usa axis=1 nei metodi Pandas

import pandas as pd

empl_df = pd.DataFrame(
    {
        "Name": ["Jon", "Willy", "Mike", "Luna", "Sam", "Aliza"],
        "Age": [30, 33, 35, 30, 30, 31],
        "Weight(KG)": [75, 75, 80, 70, 73, 70],
        "Height(meters)": [1.7, 1.7, 1.85, 1.75, 1.8, 1.75],
        "Salary($)": [3300, 3500, 4000, 3050, 3500, 3700],
    }
)
print("The Employee DataFrame is:")
print(empl_df, "\n")

print("The DataFrame with mean values of each row is:")
print(empl_df.mean(axis=1))

Produzione:

The Employee DataFrame is:
    Name  Age  Weight(KG)  Height(meters)  Salary($)
0    Jon   30          75            1.70       3300
1  Willy   33          75            1.70       3500
2   Mike   35          80            1.85       4000
3   Luna   30          70            1.75       3050
4    Sam   30          73            1.80       3500
5  Aliza   31          70            1.75       3700

The DataFrame with mean values of each row is:
0     851.6750
1     902.4250
2    1029.2125
3     787.9375
4     901.2000
5     950.6875
dtype: float64

Calcola la media per riga per il DataFrame empl_df, in altre parole, calcolerà il valore medio per ogni riga facendo la media dei valori di colonna di tipo numerico per quella riga. Otterremo una singola colonna alla fine con il valore medio per ogni riga.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Articolo correlato - Pandas DataFrame Row

Articolo correlato - Pandas DataFrame Column