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

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert