Sottrai due colonne di un DataFrame Pandas
-
Usa la sintassi
__getitem__
([]
) per sottrarre due colonne in Pandas - Usa una funzione per sottrarre due colonne in Pandas
-
Usa il metodo
assign()
per sottrarre due colonne in 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
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.
LinkedInArticolo correlato - Pandas DataFrame
- Come ottenere le intestazioni delle colonne DataFrame Pandas come lista
- Come cancellare la colonna DataFrame Pandas DataFrame
- Come convertire la colonna DataFrame in data e ora in pandas
- Converti un Float in un Integer in Pandas DataFrame
- Ordina Pandas DataFrame in base ai valori di una colonna
- Ottieni l'aggregato di Pandas Group-By e Sum