Zwei Spalten eines Pandas DataFrame subtrahieren
-
Verwenden der
__getitem__
-Syntax ([]
) zum Subtrahieren zweier Spalten in Pandas - Verwenden einer Funktion zum Subtrahieren zweier Spalten in Pandas
-
Verwenden der Methode
assign()
zum Subtrahieren zweier Spalten in Pandas
Pandas kann mit sehr großen Datensätzen umgehen und hat eine Vielzahl von Funktionen und Operationen, die auf die Daten angewendet werden können.
Eine solche einfache Operation ist die Subtraktion zweier Spalten und das Speichern des Ergebnisses in einer neuen Spalte, die in diesem Tutorial besprochen wird. Diese einfache Aufgabe kann auf viele Arten durchgeführt werden. Wir werden die Differenz zwischen den Spalten 'a'
und 'd'
des folgenden DataFrame berechnen.
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)
Ausgabe:
a b c d
0 10 6 7 8
1 1 9 12 14
2 5 8 10 6
Verwenden der __getitem__
-Syntax ([]
) zum Subtrahieren zweier Spalten in Pandas
Der einfachste Weg, zwei Spalten zu subtrahieren, besteht darin, auf die benötigten Spalten zuzugreifen und eine neue Spalte mit der __getitem__
-Syntax ([]
) zu erzeugen. Beispiel:
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)
Ausgabe:
a b c d d - a
0 10 6 7 8 -2
1 1 9 12 14 13
2 5 8 10 6 1
Verwenden einer Funktion zum Subtrahieren zweier Spalten in Pandas
Wir können ganz einfach eine Funktion zum Subtrahieren zweier Spalten in Pandas erstellen und sie mit der Funktion apply()
auf die angegebenen Spalten des DataFrame anwenden. Wir werden die Funktion apply()
mit dem Parameter axis
versehen und diesen auf 1 setzen, was anzeigt, dass die Funktion auf die Spalten angewendet wird.
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)
Ausgabe:
a b c d d - a
0 10 6 7 8 -2
1 1 9 12 14 13
2 5 8 10 6 1
Da die Subtraktion von Spalten eine relativ einfache Operation ist, können wir direkt das Schlüsselwort lambda
verwenden, um einfache einzeilige Funktionen in der Funktion apply()
zu erstellen.
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)
Ausgabe:
a b c d d - a
0 10 6 7 8 -2
1 1 9 12 14 13
2 5 8 10 6 1
Verwenden der Methode assign()
zum Subtrahieren zweier Spalten in Pandas
Die DataFrame-Methode assign()
wird verwendet, um eine Spalte zum DataFrame hinzuzufügen, nachdem eine Operation durchgeführt wurde. Sie gibt einen neuen DataFrame mit allen ursprünglichen sowie den neuen Spalten zurück. Das folgende Beispiel zeigt, wie man mit der Methode assign()
zwei Spalten subtrahieren kann.
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)
Ausgabe:
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.
LinkedInVerwandter Artikel - Pandas DataFrame
- Wie man Pandas DataFrame-Spaltenüberschriften als Liste erhält
- Pandas DataFrame-Spalte löschen
- Wie man DataFrame-Spalte in Datetime in Pandas konvertiert
- Wie konvertiert man eine Fließkommazahl in eine Ganzzahl in Pandas DataFrame
- Wie man Pandas-DataFrame nach den Werten einer Spalte sortiert
- Wie erhält man das Aggregat der Pandas gruppenweise und sum