Subtraia duas colunas de um DataFrame Pandas
-
Utilize a sintaxe
__getitem__
([]
) para subtrair duas colunas em Pandas - Utilizar uma função para subtrair duas colunas em Pandas
-
Utilize o
assign()
Método de subtracção de duas colunas em 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 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.
LinkedInArtigo relacionado - Pandas DataFrame
- Como obter os cabeçalhos da coluna Pandas DataFrame como uma lista
- Como eliminar a coluna Pandas DataFrame
- Como Converter a Coluna DataFrame para DataTempo em Pandas
- Como Converter um Flutuador em um Inteiro em Pandas DataFrame
- Como Classificar Pandas DataFrame pelos Valores de uma Coluna
- Como Obter o Agregado de Pandas Group-By e Sum