Pandas: so finden sie den unterschied zwischen zwei spalten
Um den Unterschied zwischen zwei Spalten in einem Pandas-DataFrame zu ermitteln, können Sie die folgende Syntax verwenden:
df[' difference '] = df[' column1 '] - df[' column2 ']
Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.
Beispiel 1: Finden Sie die Differenz zwischen zwei Spalten
Angenommen, wir haben den folgenden Pandas-DataFrame, der die Gesamtverkäufe für zwei Regionen (A und B) für acht aufeinanderfolgende Verkaufszeiträume anzeigt:
import pandas as pd #createDataFrame df = pd. DataFrame ({' period ': [1, 2, 3, 4, 5, 6, 7, 8], ' A_sales ': [12, 14, 15, 13, 18, 20, 19, 24], ' B_sales ': [14, 19, 20, 22, 24, 20, 17, 23]}) #view DataFrame df period A_sales B_sales 0 1 12 14 1 2 14 19 2 3 15 20 3 4 13 22 4 5 18 24 5 6 20 20 6 7 19 17 7 8 24 23
Der folgende Code zeigt, wie die Differenz zwischen den Verkäufen in Region B und Region A für jeden Verkaufszeitraum berechnet wird:
#add new column to represent difference between B sales and A sales df[' diff '] = df[' B_sales '] - df[' A_sales '] #view DataFrame df period A_sales B_sales diff 0 1 12 14 2 1 2 14 19 5 2 3 15 20 5 3 4 13 22 9 4 5 18 24 6 5 6 20 20 0 6 7 19 17 -2 7 8 24 23 -1
Wir könnten die absolute Umsatzdifferenz auch mit der Funktion pandas.Series.abs() berechnen:
#add new column to represent absolute difference between B sales and A sales df[' diff '] = pd. Series . abs (df[' B_sales '] - df[' A_sales ']) #view DataFrame df period A_sales B_sales diff 0 1 12 14 2 1 2 14 19 5 2 3 15 20 5 3 4 13 22 9 4 5 18 24 6 5 6 20 20 0 6 7 19 17 2 7 8 24 23 1
Beispiel 2: Finden Sie den Unterschied zwischen Spalten basierend auf der Bedingung
Wir können den DataFrame auch so filtern, dass nur Zeilen angezeigt werden, bei denen die Differenz zwischen den Spalten kleiner oder größer als ein bestimmter Wert ist.
Der folgende Code gibt beispielsweise nur Zeilen zurück, in denen die Verkäufe in Region A größer sind als die Verkäufe in Region B:
#add new column to represent difference between B sales and A sales df[' diff '] = df[' B_sales '] - df[' A_sales '] #display rows where sales in region A is greater than sales in region B df[df[' diff ']< 0 ] period A_sales B_sales diff 6 7 19 17 -2 7 8 24 23 -1
Zusätzliche Ressourcen
Pandas: So finden Sie den Unterschied zwischen zwei Linien
Pandas: So gruppieren und aggregieren Sie über mehrere Spalten hinweg