Significado do Pandas axis

Suraj Joshi 22 junho 2021
Significado do Pandas axis

Este tutorial explica o significado do parâmetro axis utilizado em vários métodos de objectos Pandas como 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)

Resultado:

    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 o parâmetro DataFrame empl_df para explicar como utilizar o parâmetro axis nos métodos Pandas.

Utilização do parâmetro axis nos métodos Pandas

O parâmetro axis especifica a direcção ao longo da qual um método ou função em particular é aplicado num DataFrame. O parâmetro eixo=0 representa que a função é aplicada em função da coluna, e axis=1 significa que a função é aplicada em função da linha no DataFrame.

Se aplicarmos uma função em função de coluna, obteremos um resultado com uma única linha; se aplicarmos uma função em função de linha, obteremos um DataFrame com uma única coluna.

Exemplo: Utilize axis=0 nos Métodos 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 a média em coluna da DataFrame empl_df. A média é calculada apenas para colunas com valores numéricos.

Se definirmos axis=0, calculará a média de cada coluna, calculando a média dos valores de linha para essa coluna em particular.

Exemplo: Utilizar axis=1 nos Métodos 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))

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 row is:
0     851.6750
1     902.4250
2    1029.2125
3     787.9375
4     901.2000
5     950.6875
dtype: float64

Calcula a média para a DataFrame empl_df, por outras palavras, calculará o valor médio para cada linha calculando a média dos valores da coluna do tipo numérico para essa linha. Obteremos uma única coluna no final com o valor médio para cada linha.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn

Artigo relacionado - Pandas DataFrame Row

Artigo relacionado - Pandas DataFrame Column