So erhalten Sie die Summe der Pandas-Spalte

  1. Methode, um die Summe von Pandas DataFrame-Spalte zu erhalten
  2. Kumulative Summe mit groupby
  3. Methode, um die Summe der Spalten basierend auf den bedingten Werten anderer Spalten zu erhalten

Wir stellen vor, wie man die Summe von Pandas-DataFrame Spalte erhält, Methoden wie die Berechnung der kumulativen Summe mit Gruppieren nach, und die DataFrameumme von Spalten basierend auf den Bedingungen anderer Spaltenwerte.

Methode, um die Summe von Pandas DataFrame-Spalte zu erhalten

Zuerst erstellen wir ein zufälliges Array mit Hilfe einer numpy-Bibliothek und erhalten dann die Summe jeder Spalte mit der sum()-Funktion.

import numpy as np
import pandas as pd

df = pd.DataFrame(
    np.random.randint(0,10,size=(10, 4)),
    columns=list('1234'))
print(df)
Total = df['1'].sum()
print ("Column 1 sum:",Total)
Total = df['2'].sum()
print ("Column 2 sum:",Total)
Total = df['3'].sum()
print ("Column 3 sum:",Total)
Total = df['4'].sum()
print ("Column 4 sum:",Total) 

Wenn Sie diesen Code ausführen, erhalten Sie die Ausgabe wie folgt (die Werte können in Ihrem Fall unterschiedlich sein),

   1  2  3  4
0  2  2  3  8
1  9  4  3  1
2  8  5  6  0
3  9  5  7  4
4  2  7  3  7
5  9  4  1  3
6  6  7  7  3
7  0  4  2  8
8  0  6  6  4
9  5  8  7  2
Column 1 sum: 50
Column 2 sum: 52
Column 3 sum: 45
Column 4 sum: 40

Kumulative Summe mit groupby

Wir können die kumulative Summe erhalten, indem wir die “gruppenweise” Methode verwenden. Betrachten Sie den folgenden DataFrame mit den Spalten Datum, Frucht und Verkauf:

import pandas as pd

df = pd.DataFrame(
    {
        'Date': 
             ['08/09/2018', 
              '10/09/2018', 
              '08/09/2018', 
              '10/09/2018'],
        'Fruit': 
             ['Apple', 
              'Apple', 
              'Banana', 
              'Banana'],
        'Sale:
             [34,
              12,
              22,
              27]
    })

Wenn wir die kumulative Summe der Verkäufe pro Frucht und für jedes Datum berechnen wollen, können wir das tun:

import pandas as pd

df = pd.DataFrame(
    {
        'Date': 
             ['08/09/2018', 
              '10/09/2018', 
              '08/09/2018', 
              '10/09/2018'],
        'Fruit': 
             ['Apple', 
              'Apple', 
              'Banana', 
              'Banana'],
        'Sale:
             [34,
              12,
              22,
              27]
    })

print(df.groupby(by=['Fruit','Date']).sum().groupby(level=[0]).cumsum())

Nachdem wir die obigen Codes ausgeführt haben, erhalten wir die folgende Ausgabe, die die kumulative Summe der Früchte für jedes Datum anzeigt:

Fruit  Date         Sale
Apple  08/09/2018    34
       10/09/2018    46
Banana 08/09/2018    22
       10/09/2018    49
        

Methode, um die Summe der Spalten basierend auf den bedingten Werten anderer Spalten zu erhalten

Diese Methode bietet die Funktionalität, die Summe zu erhalten, wenn die gegebene Bedingung True ist, und die Summe durch den gegebenen Wert zu ersetzen, wenn die Bedingung False ist. Betrachten Sie den folgenden Code,

import numpy as np
import pandas as pd

df = pd.DataFrame(
    np.random.randn(5,3), 
    columns=list('xyz'))

df['sum'] = df.loc[df['x'] > 0,['x','y']].sum(axis=1)

df['sum'].fillna(0, inplace=True)
print(df)

Im obigen Code fügen wir die neue Spalte sum zu Dataframe hinzu. Das Element Summe ist die Summe der ersten beiden Spalten ['x','y'], wenn ['x'] größer als 1 ist, andernfalls ersetzen wir Summe durch 0.

Nachdem der Code ausgeführt wurde, erhalten wir die folgende Ausgabe (Werte können in Ihrem Fall geändert werden).

          x         y         z       sum
0 -1.067619  1.053494  0.179490  0.000000
1 -0.349935  0.531465 -1.350914  0.000000
2 -1.650904  1.534314  1.773287  0.000000
3  2.486195  0.800890 -0.132991  3.287085
4  1.581747 -0.667217 -0.182038  0.914530