Sottrai due colonne di un DataFrame Pandas

Manav Narula 30 gennaio 2023
  1. Usa la sintassi __getitem__ ([]) per sottrarre due colonne in Pandas
  2. Usa una funzione per sottrarre due colonne in Pandas
  3. Usa il metodo assign() per sottrarre due colonne in Pandas
Sottrai due colonne di un DataFrame Pandas

I pandas possono gestire set di dati di grandi dimensioni e avere una varietà di funzioni e operazioni che possono essere applicate ai dati.

Una di queste semplici operazioni è la sottrazione di due colonne e la memorizzazione del risultato in una nuova colonna, che verrà discussa in questo tutorial. Questa semplice operazione può essere eseguita in molti modi. Calcoleremo la differenza tra le colonne 'a' e 'd' del seguente 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)

Produzione:

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

Usa la sintassi __getitem__ ([]) per sottrarre due colonne in Pandas

Il modo più semplice per sottrarre due colonne è accedere alle colonne richieste e creare una nuova colonna usando la sintassi __getitem__ ([]). Esempio:

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)

Produzione:

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

Usa una funzione per sottrarre due colonne in Pandas

Possiamo facilmente creare una funzione per sottrarre due colonne in Pandas e applicarla alle colonne specificate del DataFrame usando la funzione apply(). Forniremo la funzione apply() con il parametro axis e lo imposteremo a 1, che indica che la funzione è applicata alle colonne.

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)

Produzione:

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

Poiché la sottrazione di colonne è un’operazione relativamente facile, possiamo usare direttamente la parola chiave lambda per creare semplici funzioni di una riga nella funzione 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)

Produzione:

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

Usa il metodo assign() per sottrarre due colonne in Pandas

Il metodo DataFrame assign() viene utilizzato per aggiungere una colonna al DataFrame dopo aver eseguito alcune operazioni. Restituisce un nuovo DataFrame con tutte le colonne originali e nuove. Il seguente esempio mostrerà come sottrarre due colonne usando il metodo 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)

Produzione:

    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
Autore: Manav Narula
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

Articolo correlato - Pandas DataFrame