Subtraia duas colunas de um DataFrame Pandas

Manav Narula 30 janeiro 2023
  1. Utilize a sintaxe __getitem__ ([]) para subtrair duas colunas em Pandas
  2. Utilizar uma função para subtrair duas colunas em Pandas
  3. Utilize o assign() Método de subtracção de duas colunas em Pandas
Subtraia duas colunas de um DataFrame Pandas

Os Pandas podem manusear grandes conjuntos de dados e têm uma variedade de características e operações que podem ser aplicadas aos dados.

Uma dessas operações simples é a subtracção de duas colunas e o armazenamento do resultado numa nova coluna, que será discutida neste tutorial. Esta tarefa simples pode ser feita de muitas maneiras. Vamos calcular a diferença entre a coluna 'a' e 'd' do seguinte DataFrame.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

print(df)

Resultado:

    a  b   c   d
0  10  6   7   8
1   1  9  12  14
2   5  8  10   6

Utilize a sintaxe __getitem__ ([]) para subtrair duas colunas em Pandas

A forma mais simples de subtrair duas colunas é aceder às colunas necessárias e criar uma nova coluna utilizando a sintaxe __getitem__([]). Exemplo:

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df["d - a"] = df["d"] - df["a"]

print(df)

Resultado:

    a  b   c   d  d - a
0  10  6   7   8     -2
1   1  9  12  14     13
2   5  8  10   6      1

Utilizar uma função para subtrair duas colunas em Pandas

Podemos facilmente criar uma função para subtrair duas colunas em Pandas e aplicá-la às colunas especificadas da DataFrame utilizando a função apply(). Forneceremos a função apply() com o parâmetro axis e definimo-la como 1, o que indica que a função é aplicada às colunas.

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)


def x(a, b):
    return a - b


df["d - a"] = df.apply(lambda f: x(f["d"], f["a"]), axis=1)

print(df)

Resultado:

    a  b   c   d  d - a
0  10  6   7   8     -2
1   1  9  12  14     13
2   5  8  10   6      1

Uma vez que a subtracção das colunas é uma operação relativamente fácil, podemos utilizar directamente a palavra-chave lambda para criar funções simples de uma linha na função apply().

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df["d - a"] = df.apply(lambda x: x["d"] - x["a"], axis=1)

print(df)

Resultado:

    a  b   c   d  d - a
0  10  6   7   8     -2
1   1  9  12  14     13
2   5  8  10   6      1

Utilize o assign() Método de subtracção de duas colunas em Pandas

O método DataFrame assign() é utilizado para adicionar uma coluna ao DataFrame após a realização de alguma operação. Retorna um novo DataFrame com todas as colunas originais, bem como as novas colunas. O exemplo seguinte mostrará como subtrair duas colunas utilizando o método assign().

import pandas as pd

df = pd.DataFrame(
    [[10, 6, 7, 8], [1, 9, 12, 14], [5, 8, 10, 6]], columns=["a", "b", "c", "d"]
)

df = df.assign(d_minus_a=df["d"] - df["a"])

print(df)

Resultado:

    a  b   c   d  d_minus_a
0  10  6   7   8         -2
1   1  9  12  14         13
2   5  8  10   6          1
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Artigo relacionado - Pandas DataFrame