Panda's: hoe u het verschil tussen twee kolommen kunt vinden


Om het verschil tussen twee kolommen in een Panda DataFrame te vinden, kunt u de volgende syntaxis gebruiken:

 df[' difference '] = df[' column1 '] - df[' column2 ']

De volgende voorbeelden laten zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld 1: Zoek het verschil tussen twee kolommen

Stel dat we het volgende panda’s DataFrame hebben dat de totale verkoop voor twee regio’s (A en B) gedurende acht opeenvolgende verkoopperioden weergeeft:

 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

De volgende code laat zien hoe u voor elke verkoopperiode het verschil berekent tussen de verkopen uit Regio B en Regio A:

 #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

We kunnen ook het absolute verschil in omzet berekenen met behulp van de pandas.Series.abs() functie:

 #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

Voorbeeld 2: Zoek het verschil tussen kolommen op basis van de voorwaarde

We kunnen het DataFrame ook filteren om alleen rijen weer te geven waarbij het verschil tussen de kolommen kleiner of groter is dan een bepaalde waarde.

De volgende code retourneert bijvoorbeeld alleen rijen waarin de verkopen in regio A groter zijn dan de verkopen in regio 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

Aanvullende bronnen

Panda’s: hoe je het verschil tussen twee lijnen kunt vinden
Panda’s: hoe te groeperen en aggregeren over meerdere kolommen

Einen Kommentar hinzufügen

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