Ejes Pandas Significado

Suraj Joshi 11 marzo 2021
Ejes Pandas Significado

Este tutorial explica el significado del parámetro axis utilizado en varios métodos de objetos Pandas como DataFrames y 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)

Producción :

    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

Utilizamos el DataFrame empl_df para explicar cómo utilizar el parámetro axis en los métodos de Pandas.

Uso del parámetro axis en los métodos de Pandas

El parámetro axis especifica la dirección a lo largo de la cual se aplica un determinado método o función en un DataFrame. El axis = 0 representa que la función se aplica en forma de columna, y el axis = 1 significa que la función se aplica en forma de fila en el DataFrame.

Si aplicamos una función por columnas, obtendremos un resultado con una sola fila; si aplicamos una función por filas, obtendremos un DataFrame con una sola columna.

Ejemplo: Usar axis=0 en los métodos de 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))

Resultado:

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

Calcula la media por columnas del DataFrame empl_df. La media se calcula sólo para las columnas con valores numéricos.

Si ponemos axis=0, calculará la media de cada columna promediando los valores de las filas de esa columna en particular.

Ejemplo: Usar axis=1 en los métodos de 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))

Producción :

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

Calcula la media por filas del DataFrame empl_df, es decir, calculará el valor medio de cada fila promediando los valores de las columnas de tipo numérico de esa fila. Obtendremos una única columna al final con el valor medio de cada fila.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artículo relacionado - Pandas DataFrame Row

Artículo relacionado - Pandas DataFrame Column